Flow123d
JS_before_hm-1755-g6249b9fc1
|
Go to the documentation of this file.
19 #ifndef EVAL_SUBSET_HH_
20 #define EVAL_SUBSET_HH_
262 unsigned int dim()
const {
313 EdgeIntegral(std::shared_ptr<EvalPoints>
eval_points,
unsigned int dim,
unsigned int n_permutations,
unsigned int points_per_side);
332 unsigned int points_per_side = (end_idx - begin_idx) / this->
n_sides();
333 auto bgn_it = make_iter<EdgePoint>(
EdgePoint(cell_side, elm_cache_map,
this, 0 ) );
334 auto end_it = make_iter<EdgePoint>(
EdgePoint(cell_side, elm_cache_map,
this, points_per_side ) );
368 CouplingIntegral(std::shared_ptr<EdgeIntegral> edge_integral, std::shared_ptr<BulkIntegral> bulk_integral);
387 unsigned int points_per_side = (end_idx - begin_idx) /
edge_integral_->n_sides();
388 auto bgn_it = make_iter<CouplingPoint>(
CouplingPoint(cell_side, elm_cache_map,
this, 0 ) );
389 auto end_it = make_iter<CouplingPoint>(
CouplingPoint(cell_side, elm_cache_map,
this, points_per_side ) );
411 BoundaryIntegral(std::shared_ptr<EdgeIntegral> edge_integral, std::shared_ptr<BulkIntegral> bulk_integral);
430 unsigned int points_per_side = (end_idx - begin_idx) /
edge_integral_->n_sides();
431 auto bgn_it = make_iter<BoundaryPoint>(
BoundaryPoint(cell_side, elm_cache_map,
this, 0 ) );
432 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.
unsigned int permutation_idx_
Permutation index corresponding with DHCellSide.
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.
const EdgeIntegral * integral_
Pointer to edge point integral.
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 (n_permutations==0) or side subset.
unsigned int eval_point_idx() const
Return index in EvalPoints object.
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.
EdgePoint(DHCellSide cell_side, const ElementCacheMap *elm_cache_map, const EdgeIntegral *edge_integral, unsigned int local_point_idx)
Constructor.
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 side_idx_
Index of side in element.
const CouplingIntegral * integral_
Pointer to edge point set.
friend class CouplingPoint
unsigned int n_permutations_
Number of permutations (value 0 indicates bulk set)
friend class BoundaryPoint
unsigned int subset_index_
Index of data block according to subset in EvalPoints object.
int perm_idx_ptr(uint i_side, uint i_perm, uint i_point) const
Returns structure of permutation indices.
std::shared_ptr< EdgeIntegral > edge_integral_
Integral according to higher dim (bulk) element subset part in EvalPoints object.
unsigned int eval_point_idx() const
Return index 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 permutation_idx() const
unsigned int local_point_idx_
Local coordinates within element.
unsigned int eval_point_idx() const
Return index in EvalPoints object.
int get_subset_idx() const
Return index of data block according to subset in EvalPoints object.
unsigned int *** perm_indices_
Indices to EvalPoints for different sides and permutations reflecting order of points.
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.
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.