Flow123d
JS_before_hm-1754-g1847fd3ed
|
Go to the documentation of this file.
19 #ifndef EVAL_SUBSET_HH_
20 #define EVAL_SUBSET_HH_
246 unsigned int dim()
const {
316 unsigned int points_per_side = (end_idx - begin_idx) / this->
n_sides();
317 auto bgn_it = make_iter<EdgePoint>(
EdgePoint(cell_side, elm_cache_map, 0 ) );
318 auto end_it = make_iter<EdgePoint>(
EdgePoint(cell_side, elm_cache_map, points_per_side ) );
344 CouplingIntegral(std::shared_ptr<EdgeIntegral> edge_integral, std::shared_ptr<BulkIntegral> bulk_integral);
363 unsigned int points_per_side = (end_idx - begin_idx) /
edge_integral_->n_sides();
364 auto bgn_it = make_iter<CouplingPoint>(
CouplingPoint(cell_side, elm_cache_map,
this, 0 ) );
365 auto end_it = make_iter<CouplingPoint>(
CouplingPoint(cell_side, elm_cache_map,
this, points_per_side ) );
387 BoundaryIntegral(std::shared_ptr<EdgeIntegral> edge_integral, std::shared_ptr<BulkIntegral> bulk_integral);
406 unsigned int points_per_side = (end_idx - begin_idx) /
edge_integral_->n_sides();
407 auto bgn_it = make_iter<BoundaryPoint>(
BoundaryPoint(cell_side, elm_cache_map,
this, 0 ) );
408 auto end_it = make_iter<BoundaryPoint>(
BoundaryPoint(cell_side, elm_cache_map,
this, points_per_side ) );
Range< CouplingPoint > points(const DHCellSide &cell_side, const ElementCacheMap *elm_cache_map) const
Returns range of side local points for appropriate cell side accessor.
BulkIntegral()
Default constructor.
unsigned int n_sides_
Number of sides (value 0 indicates bulk set)
unsigned int mesh_idx() const
Return global idx of element in full element vector.
std::shared_ptr< EvalPoints > eval_points() const
Getter of EvalPoints object.
unsigned int elem_patch_idx_
Index of element in the patch.
Point accessor allow iterate over quadrature points of given side defined in local element coordinate...
Range< BulkPoint > points(unsigned int element_patch_idx, const ElementCacheMap *elm_cache_map) const
Returns range of bulk local points for appropriate cell accessor.
BaseIntegral()
Default constructor.
BulkPoint point_bdr(ElementAccessor< 3 > bdr_elm) const
Return corresponds BulkPoint on boundary element.
std::shared_ptr< BulkIntegral > bulk_integral_
Integral according to kower dim (boundary) element subset part in EvalPoints object.
unsigned int elem_patch_idx() const
const BoundaryIntegral * integral_
Pointer to edge point set.
int get_subset_low_idx() const
Return index of data block according to subset of lower dim in EvalPoints object.
CouplingIntegral()
Default constructor.
Directing class of FieldValueCache.
std::shared_ptr< EvalPoints > eval_points_
Pointer to EvalPoints.
Point accessor allow iterate over bulk quadrature points defined in local element coordinates.
int get_subset_idx() const
Return index of data block according to subset in EvalPoints object.
Base point accessor class.
General point accessor allow iterate over quadrature points of given side defined in local element co...
unsigned int dim() const
Return dimension of element appropriate to cell.
Point accessor allow iterate over quadrature points of given side defined in local element coordinate...
BaseIntegral(std::shared_ptr< EvalPoints > eval_points, unsigned int dim)
Constructor of bulk or side subset.
unsigned int position_in_cache(unsigned mesh_elm_idx) const
Return position of element stored in ElementCacheMap.
unsigned int dim_
Dimension of points.
int get_subset_low_idx() const
Return index of data block according to subset of lower dim (boundary) in EvalPoints object.
unsigned int dim() const
Returns dimension.
PointBase()
Default constructor.
EdgePoint point_on(DHCellSide edg_side) const
Return corresponds EdgePoint of neighbour side of same dimension (computing of side integrals).
EdgePoint()
Default constructor.
void inc()
Iterates to next point.
~EdgeIntegral()
Destructor.
Side accessor allows to iterate over sides of DOF handler cell.
bool operator==(const BulkPoint &other)
Comparison of accessors.
unsigned int eval_point_idx() const
unsigned int side_idx_
Index of side in element.
const CouplingIntegral * integral_
Pointer to edge point set.
friend class CouplingPoint
friend class BoundaryPoint
unsigned int subset_index_
Index of data block according to subset in EvalPoints object.
std::shared_ptr< EdgeIntegral > edge_integral_
Integral according to higher dim (bulk) element subset part in EvalPoints object.
unsigned int n_sides() const
Getter of n_sides.
CouplingPoint(DHCellSide cell_side, const ElementCacheMap *elm_cache_map, const CouplingIntegral *coupling_integral, unsigned int local_point_idx)
Constructor.
std::shared_ptr< EvalPoints > eval_points() const
Getter of eval_points.
Holds pair of positions of point in cache (element and eval point)
virtual ~BaseIntegral()
Destructor.
std::shared_ptr< EvalPoints > eval_points() const
Getter of eval_points object.
const ElementAccessor< 3 > elm() const
Return ElementAccessor to element of loc_ele_idx_.
BoundaryIntegral()
Default constructor.
bool operator==(const BoundaryPoint &other)
Comparison of accessors.
unsigned int eval_point_idx() const
Return index in EvalPoints object.
~BulkIntegral()
Destructor.
std::shared_ptr< EdgeIntegral > edge_integral_
Integral according to side subset part (element of higher dim) in EvalPoints object.
Range< EdgePoint > points(const DHCellSide &cell_side, const ElementCacheMap *elm_cache_map) const
Returns range of side local points for appropriate cell side accessor.
PointBase(const ElementCacheMap *elm_cache_map, unsigned int loc_point_idx)
Constructor.
bool operator==(const EdgePoint &other)
Comparison of accessors.
Range< BoundaryPoint > points(const DHCellSide &cell_side, const ElementCacheMap *elm_cache_map) const
Returns range of bulk local points for appropriate cell accessor.
ElementAccessor< 3 > element() const
unsigned int local_point_idx_
Local coordinates within element.
int get_subset_idx() const
Return index of data block according to subset in EvalPoints object.
Point accessor allow iterate over quadrature points of given side defined in local element coordinate...
BulkPoint lower_dim(DHCellAccessor cell_lower) const
Return corresponds EdgePoint of neighbour side of same dimension (computing of side integrals).
BulkPoint(const ElementCacheMap *elm_cache_map, PatchCacheLoc cache_pos)
Constructor.
Cell accessor allow iterate over DOF handler cells.
const ElementCacheMap * elm_cache_map_
Pointer ElementCacheMap needed for point evaluation.
BoundaryPoint()
Default constructor.
SidePoint()
Default constructor.
unsigned int subset_index_
Index of data block according to subset in EvalPoints object.
EdgeIntegral()
Default constructor.
const ElementCacheMap * elm_cache_map() const
unsigned int i_elm_
index of element in patch
CouplingPoint()
Default constructor.
~BoundaryIntegral()
Destructor.
~CouplingIntegral()
Destructor.
SidePoint(DHCellSide cell_side, const ElementCacheMap *elm_cache_map, unsigned int local_point_idx)
Constructor.
BoundaryPoint(DHCellSide cell_side, const ElementCacheMap *elm_cache_map, const BoundaryIntegral *bdr_integral, unsigned int local_point_idx)
Constructor.
int get_subset_high_idx() const
Return index of data block according to subset of higher dim in EvalPoints object.
BulkIntegral(std::shared_ptr< EvalPoints > eval_points, unsigned int dim)
Constructor of bulk integral.
EdgePoint(DHCellSide cell_side, const ElementCacheMap *elm_cache_map, unsigned int local_point_idx)
Constructor.
BulkPoint()
Default constructor.
#define ASSERT_PTR(ptr)
Definition of assert macro checking non-null pointer (PTR)
bool operator==(const CouplingPoint &other)
Comparison of accessors.
int get_subset_high_idx() const
Return index of data block according to subset of higher dim in EvalPoints object.
Implementation of range helper class.
std::shared_ptr< BulkIntegral > bulk_integral_
Integral according to bulk subset part (element of lower dim) in EvalPoints object.
Class holds local coordinations of evaluating points (bulk and sides) specified by element dimension.