Flow123d  DF_patch_fe_data_tables-4eb41dd
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
AssemblyBase< dim > Class Template Reference

#include <assembly_base.hh>

Inherited by AssemblyBasePatch< dim >, AssemblyObserveOutput< dim >, AssemblyOutputBase< dim >, ConcSourcesBdrAssemblyConvection< dim >, ConstraintAssemblyElasticity< dim >, FlowPotentialAssemblyHM< dim >, InitCondAssemblyConvection< dim >, InitCondPostprocessAssembly< dim >, InitConditionAssemblyDG< dim, Model >, InitConditionAssemblyDp< dim >, InitConditionAssemblySorp< dim >, L2DifferenceAssembly< dim >, MHMatrixAssemblyLMH< dim >, MassAssemblyConvection< dim >, MatrixMpiAssemblyConvection< dim >, OutpuFieldsAssemblyElasticity< dim >, OutputInternalFlowAssembly< dim >, ReactionAssemblyDp< dim >, ReactionAssemblySorp< dim >, ReadInitCondAssemblyLMH< dim >, ResidualAssemblyHM< dim >, RhsAssemblyElasticity< dim >, and StiffnessAssemblyElasticity< dim >.

Collaboration diagram for AssemblyBase< dim >:
Collaboration graph
[legend]

Classes

struct  DimIntegrals
 Set of integral of given dimension necessary in assemblation. More...
 

Public Types

typedef GenericAssemblyBase::BulkIntegralData BulkIntegralData
 
typedef GenericAssemblyBase::EdgeIntegralData EdgeIntegralData
 
typedef GenericAssemblyBase::CouplingIntegralData CouplingIntegralData
 
typedef GenericAssemblyBase::BoundaryIntegralData BoundaryIntegralData
 

Public Member Functions

 AssemblyBase (unsigned int quad_order)
 Constructor. More...
 
virtual ~AssemblyBase ()
 Destructor. More...
 
virtual void cell_integral (FMT_UNUSED DHCellAccessor cell, FMT_UNUSED unsigned int element_patch_idx)
 Assembles the volume integrals on cell. More...
 
virtual void boundary_side_integral (FMT_UNUSED DHCellSide cell_side)
 Assembles the fluxes on the boundary. More...
 
virtual void edge_integral (FMT_UNUSED RangeConvert< DHEdgeSide, DHCellSide > edge_side_range)
 Assembles the fluxes between sides on the edge. More...
 
virtual void dimjoin_intergral (FMT_UNUSED DHCellAccessor cell_lower_dim, FMT_UNUSED DHCellSide neighb_side)
 Assembles the fluxes between elements of different dimensions. More...
 
virtual void begin ()
 Method prepares object before assemblation (e.g. balance, ...). More...
 
virtual void end ()
 Method finishes object after assemblation (e.g. balance, ...). More...
 
virtual void patch_reinit (FMT_UNUSED std::array< PatchElementsList, 4 > &patch_elements)
 
int n_active_integrals () const
 Getter of active_integrals. More...
 
void create_integrals (std::shared_ptr< EvalPoints > eval_points, AssemblyIntegrals &integrals)
 Create integrals according to dim of assembly object. More...
 
Range< BulkPointbulk_points (unsigned int element_patch_idx) const
 Return BulkPoint range of appropriate dimension. More...
 
Range< EdgePointedge_points (const DHCellSide &cell_side) const
 Return EdgePoint range of appropriate dimension. More...
 
Range< CouplingPointcoupling_points (const DHCellSide &cell_side) const
 Return CouplingPoint range of appropriate dimension. More...
 
Range< BoundaryPointboundary_points (const DHCellSide &cell_side) const
 Return BoundaryPoint range of appropriate dimension. More...
 
virtual void assemble_cell_integrals (const RevertableList< BulkIntegralData > &bulk_integral_data)
 Assembles the cell integrals for the given dimension. More...
 
void assemble_boundary_side_integrals (const RevertableList< BoundaryIntegralData > &boundary_integral_data)
 Assembles the boundary side integrals for the given dimension. More...
 
void assemble_edge_integrals (const RevertableList< EdgeIntegralData > &edge_integral_data)
 Assembles the edge integrals for the given dimension. More...
 
void assemble_neighbour_integrals (const RevertableList< CouplingIntegralData > &coupling_integral_data)
 Assembles the neighbours integrals for the given dimension. More...
 
virtual void add_patch_bulk_points (FMT_UNUSED const RevertableList< BulkIntegralData > &bulk_integral_data)
 Register cell points of volume integral. More...
 
virtual void add_patch_bdr_side_points (FMT_UNUSED const RevertableList< BoundaryIntegralData > &boundary_integral_data)
 Register side points of boundary side integral. More...
 
virtual void add_patch_edge_points (FMT_UNUSED const RevertableList< EdgeIntegralData > &edge_integral_data)
 Register side points of edge integral. More...
 
virtual void add_patch_coupling_integrals (FMT_UNUSED const RevertableList< CouplingIntegralData > &coupling_integral_data)
 Register bulk and side points of coupling integral. More...
 

Protected Member Functions

 AssemblyBase ()
 
std::string print_update_flags (UpdateFlags u) const
 Print update flags to string format. More...
 

Protected Attributes

Quadraturequad_
 Quadrature used in assembling methods. More...
 
Quadraturequad_low_
 Quadrature used in assembling methods (dim-1). More...
 
int active_integrals_
 Holds mask of active integrals. More...
 
DimIntegrals integrals_
 Set of used integrals. More...
 
ElementCacheMapelement_cache_map_
 ElementCacheMap shared with GenericAssembly object. More...
 

Detailed Description

template<unsigned int dim>
class AssemblyBase< dim >

Base class define empty methods, these methods can be overwite in descendants.

Definition at line 34 of file assembly_base.hh.

Member Typedef Documentation

◆ BoundaryIntegralData

Definition at line 40 of file assembly_base.hh.

◆ BulkIntegralData

template<unsigned int dim>
typedef GenericAssemblyBase::BulkIntegralData AssemblyBase< dim >::BulkIntegralData

Definition at line 37 of file assembly_base.hh.

◆ CouplingIntegralData

Definition at line 39 of file assembly_base.hh.

◆ EdgeIntegralData

template<unsigned int dim>
typedef GenericAssemblyBase::EdgeIntegralData AssemblyBase< dim >::EdgeIntegralData

Definition at line 38 of file assembly_base.hh.

Constructor & Destructor Documentation

◆ AssemblyBase() [1/2]

template<unsigned int dim>
AssemblyBase< dim >::AssemblyBase ( unsigned int  quad_order)
inline

Constructor.

Definition at line 43 of file assembly_base.hh.

◆ ~AssemblyBase()

template<unsigned int dim>
virtual AssemblyBase< dim >::~AssemblyBase ( )
inlinevirtual

Destructor.

Definition at line 49 of file assembly_base.hh.

◆ AssemblyBase() [2/2]

template<unsigned int dim>
AssemblyBase< dim >::AssemblyBase ( )
inlineprotected

Default constructor.

Be aware if you use this constructor. Quadrature objects must be initialized manually in descendant.

Definition at line 196 of file assembly_base.hh.

Member Function Documentation

◆ add_patch_bdr_side_points()

template<unsigned int dim>
virtual void AssemblyBase< dim >::add_patch_bdr_side_points ( FMT_UNUSED const RevertableList< BoundaryIntegralData > &  boundary_integral_data)
inlinevirtual

Register side points of boundary side integral.

Definition at line 173 of file assembly_base.hh.

◆ add_patch_bulk_points()

template<unsigned int dim>
virtual void AssemblyBase< dim >::add_patch_bulk_points ( FMT_UNUSED const RevertableList< BulkIntegralData > &  bulk_integral_data)
inlinevirtual

Register cell points of volume integral.

Definition at line 170 of file assembly_base.hh.

◆ add_patch_coupling_integrals()

template<unsigned int dim>
virtual void AssemblyBase< dim >::add_patch_coupling_integrals ( FMT_UNUSED const RevertableList< CouplingIntegralData > &  coupling_integral_data)
inlinevirtual

Register bulk and side points of coupling integral.

Definition at line 180 of file assembly_base.hh.

◆ add_patch_edge_points()

template<unsigned int dim>
virtual void AssemblyBase< dim >::add_patch_edge_points ( FMT_UNUSED const RevertableList< EdgeIntegralData > &  edge_integral_data)
inlinevirtual

Register side points of edge integral.

Definition at line 176 of file assembly_base.hh.

◆ assemble_boundary_side_integrals()

template<unsigned int dim>
void AssemblyBase< dim >::assemble_boundary_side_integrals ( const RevertableList< BoundaryIntegralData > &  boundary_integral_data)
inline

Assembles the boundary side integrals for the given dimension.

Definition at line 145 of file assembly_base.hh.

◆ assemble_cell_integrals()

template<unsigned int dim>
virtual void AssemblyBase< dim >::assemble_cell_integrals ( const RevertableList< BulkIntegralData > &  bulk_integral_data)
inlinevirtual

Assembles the cell integrals for the given dimension.

Reimplemented in AssemblyObserveOutput< dim >, AssemblyOutputNodeData< dim >, and AssemblyOutputElemData< dim >.

Definition at line 131 of file assembly_base.hh.

◆ assemble_edge_integrals()

template<unsigned int dim>
void AssemblyBase< dim >::assemble_edge_integrals ( const RevertableList< EdgeIntegralData > &  edge_integral_data)
inline

Assembles the edge integrals for the given dimension.

Definition at line 153 of file assembly_base.hh.

◆ assemble_neighbour_integrals()

template<unsigned int dim>
void AssemblyBase< dim >::assemble_neighbour_integrals ( const RevertableList< CouplingIntegralData > &  coupling_integral_data)
inline

Assembles the neighbours integrals for the given dimension.

Definition at line 162 of file assembly_base.hh.

◆ begin()

template<unsigned int dim>
virtual void AssemblyBase< dim >::begin ( )
inlinevirtual

◆ boundary_points()

template<unsigned int dim>
Range< BoundaryPoint > AssemblyBase< dim >::boundary_points ( const DHCellSide cell_side) const
inline

Return BoundaryPoint range of appropriate dimension.

Definition at line 125 of file assembly_base.hh.

Here is the caller graph for this function:

◆ boundary_side_integral()

template<unsigned int dim>
virtual void AssemblyBase< dim >::boundary_side_integral ( FMT_UNUSED DHCellSide  cell_side)
inlinevirtual

Assembles the fluxes on the boundary.

Reimplemented in ReconstructSchurAssemblyRichards< dim >, and ReconstructSchurAssemblyLMH< dim >.

Definition at line 58 of file assembly_base.hh.

Here is the caller graph for this function:

◆ bulk_points()

template<unsigned int dim>
Range< BulkPoint > AssemblyBase< dim >::bulk_points ( unsigned int  element_patch_idx) const
inline

Return BulkPoint range of appropriate dimension.

Definition at line 108 of file assembly_base.hh.

◆ cell_integral()

template<unsigned int dim>
virtual void AssemblyBase< dim >::cell_integral ( FMT_UNUSED DHCellAccessor  cell,
FMT_UNUSED unsigned int  element_patch_idx 
)
inlinevirtual

Assembles the volume integrals on cell.

Definition at line 55 of file assembly_base.hh.

Here is the caller graph for this function:

◆ coupling_points()

template<unsigned int dim>
Range< CouplingPoint > AssemblyBase< dim >::coupling_points ( const DHCellSide cell_side) const
inline

Return CouplingPoint range of appropriate dimension.

Definition at line 119 of file assembly_base.hh.

Here is the caller graph for this function:

◆ create_integrals()

template<unsigned int dim>
void AssemblyBase< dim >::create_integrals ( std::shared_ptr< EvalPoints eval_points,
AssemblyIntegrals integrals 
)
inline

Create integrals according to dim of assembly object.

Definition at line 82 of file assembly_base.hh.

◆ dimjoin_intergral()

template<unsigned int dim>
virtual void AssemblyBase< dim >::dimjoin_intergral ( FMT_UNUSED DHCellAccessor  cell_lower_dim,
FMT_UNUSED DHCellSide  neighb_side 
)
inlinevirtual

Assembles the fluxes between elements of different dimensions.

Reimplemented in ReconstructSchurAssemblyRichards< dim >, and ReconstructSchurAssemblyLMH< dim >.

Definition at line 64 of file assembly_base.hh.

Here is the caller graph for this function:

◆ edge_integral()

template<unsigned int dim>
virtual void AssemblyBase< dim >::edge_integral ( FMT_UNUSED RangeConvert< DHEdgeSide, DHCellSide edge_side_range)
inlinevirtual

Assembles the fluxes between sides on the edge.

Definition at line 61 of file assembly_base.hh.

Here is the caller graph for this function:

◆ edge_points()

template<unsigned int dim>
Range< EdgePoint > AssemblyBase< dim >::edge_points ( const DHCellSide cell_side) const
inline

Return EdgePoint range of appropriate dimension.

Definition at line 113 of file assembly_base.hh.

Here is the caller graph for this function:

◆ end()

template<unsigned int dim>
virtual void AssemblyBase< dim >::end ( )
inlinevirtual

◆ n_active_integrals()

template<unsigned int dim>
int AssemblyBase< dim >::n_active_integrals ( ) const
inline

Getter of active_integrals.

Definition at line 77 of file assembly_base.hh.

◆ patch_reinit()

template<unsigned int dim>
virtual void AssemblyBase< dim >::patch_reinit ( FMT_UNUSED std::array< PatchElementsList, 4 > &  patch_elements)
inlinevirtual

Method prepares object before computing on patch (typically reinitialize PatchFEValues objects). TODO Temporary methods use only in initialization of PatchFEValues_TEMP (only mechanic equation)

Definition at line 74 of file assembly_base.hh.

◆ print_update_flags()

template<unsigned int dim>
std::string AssemblyBase< dim >::print_update_flags ( UpdateFlags  u) const
inlineprotected

Print update flags to string format.

Definition at line 200 of file assembly_base.hh.

Here is the caller graph for this function:

Member Data Documentation

◆ active_integrals_

template<unsigned int dim>
int AssemblyBase< dim >::active_integrals_
protected

Holds mask of active integrals.

Definition at line 208 of file assembly_base.hh.

◆ element_cache_map_

template<unsigned int dim>
ElementCacheMap* AssemblyBase< dim >::element_cache_map_
protected

ElementCacheMap shared with GenericAssembly object.

Definition at line 210 of file assembly_base.hh.

◆ integrals_

template<unsigned int dim>
DimIntegrals AssemblyBase< dim >::integrals_
protected

Set of used integrals.

Definition at line 209 of file assembly_base.hh.

◆ quad_

template<unsigned int dim>
Quadrature* AssemblyBase< dim >::quad_
protected

Quadrature used in assembling methods.

Definition at line 206 of file assembly_base.hh.

◆ quad_low_

template<unsigned int dim>
Quadrature* AssemblyBase< dim >::quad_low_
protected

Quadrature used in assembling methods (dim-1).

Definition at line 207 of file assembly_base.hh.


The documentation for this class was generated from the following file: