v0.16.0
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
MoFEM::PipelineManager Struct Reference

PipelineManager interface. More...

#include "src/interfaces/PipelineManager.hpp"

Inheritance diagram for MoFEM::PipelineManager:
[legend]
Collaboration diagram for MoFEM::PipelineManager:
[legend]

Classes

struct  ElementsAndOpsByDim
 Template struct for dimension-specific finite element types. More...
 
struct  ElementsAndOpsByDim< 2 >
 Specialization for 2D problems. More...
 
struct  ElementsAndOpsByDim< 3 >
 Specialization for 3D problems. More...
 
struct  MeshsetFE
 

Public Types

enum  TSType { EX , IM , IM2 , IMEX }
 Enumeration of time solver types. More...
 
using UserDataOperator = MoFEM::ForcesAndSourcesCore::UserDataOperator
 
using RuleHookFun = MoFEM::ForcesAndSourcesCore::RuleHookFun
 
using VolEle = MoFEM::VolumeElementForcesAndSourcesCore
 
using FaceEle = MoFEM::FaceElementForcesAndSourcesCore
 
using EdgeEle = MoFEM::EdgeElementForcesAndSourcesCore
 

Public Member Functions

MoFEMErrorCode query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const
 Query interface for type-safe casting.
 
 PipelineManager (const MoFEM::Core &core)
 Construct PipelineManager.
 
boost::shared_ptr< FEMethod > & getDomainLhsFE ()
 Get domain left-hand side finite element.
 
boost::shared_ptr< FEMethod > & getDomainRhsFE ()
 Get domain right-hand side finite element.
 
boost::shared_ptr< FEMethod > & getBoundaryLhsFE ()
 Get boundary left-hand side finite element.
 
boost::shared_ptr< FEMethod > & getBoundaryRhsFE ()
 Get boundary right-hand side finite element.
 
boost::shared_ptr< FEMethod > & getDomainPostProcFE ()
 Get domain postprocessing finite element.
 
boost::shared_ptr< FEMethod > & getBoundaryPostProcFE ()
 Get boundary postprocessing finite element.
 
boost::shared_ptr< FEMethod > & getEvaluationFE ()
 Get domain evaluation finite element.
 
boost::shared_ptr< FEMethod > & getSkeletonLhsFE ()
 Get skeleton left-hand side finite element.
 
boost::shared_ptr< FEMethod > & getSkeletonRhsFE ()
 Get skeleton right-hand side finite element.
 
boost::shared_ptr< FEMethod > & getDomainExplicitRhsFE ()
 Get domain explicit right-hand side finite element.
 
boost::shared_ptr< FEMethod > & getBoundaryExplicitRhsFE ()
 Get boundary explicit right-hand side finite element.
 
boost::shared_ptr< FEMethod > & getSkeletonExplicitRhsFE ()
 Get skeleton explicit right-hand side finite element.
 
boost::shared_ptr< FEMethod > & getMeshsetRhsFE ()
 Get meshset right-hand side finite element.
 
boost::shared_ptr< FEMethod > & getMeshsetLhsFE ()
 Get meshset left-hand side finite element.
 
boost::shared_ptr< FEMethod > & getMeshsetExplicitRhsFE ()
 Get meshset explicit right-hand side finite element.
 
template<typename T = ForcesAndSourcesCore, int DIM = -1>
auto getCastDomainLhsFE ()
 Get typed domain left-hand side finite element.
 
template<typename T = ForcesAndSourcesCore, int DIM = -1>
auto getCastDomainRhsFE ()
 Get typed domain right-hand side finite element.
 
template<typename T = ForcesAndSourcesCore, int DIM = -1>
auto getCastBoundaryLhsFE ()
 Get typed boundary left-hand side finite element.
 
template<typename T = ForcesAndSourcesCore, int DIM = -1>
auto getCastBoundaryRhsFE ()
 Get typed boundary right-hand side finite element.
 
template<typename T = ForcesAndSourcesCore, int DIM = -1>
auto getCastDomainPostProcFE ()
 Get typed domain postprocessing finite element.
 
template<typename T = ForcesAndSourcesCore, int DIM = -1>
auto getCastBoundaryPostProcFE ()
 Get typed boundary postprocessing finite element.
 
template<typename T = ForcesAndSourcesCore, int DIM = -1>
auto getCastEvaluationFE ()
 Get typed domain evaluation finite element.
 
template<typename T = ForcesAndSourcesCore, int DIM = -1>
auto getCastSkeletonLhsFE ()
 Get typed skeleton left-hand side finite element.
 
template<typename T = ForcesAndSourcesCore, int DIM = -1>
auto getCastSkeletonRhsFE ()
 Get typed skeleton right-hand side finite element.
 
template<typename T = ForcesAndSourcesCore, int DIM = -1>
auto getCastDomainExplicitRhsFE ()
 Get typed domain explicit right-hand side finite element.
 
template<typename T = ForcesAndSourcesCore, int DIM = -1>
auto getCastBoundaryExplicitRhsFE ()
 Get typed boundary explicit right-hand side finite element.
 
template<typename T = ForcesAndSourcesCore, int DIM = -1>
auto getCastSkeletonExplicitRhsFE ()
 Get typed skeleton explicit right-hand side finite element.
 
template<typename T = ForcesAndSourcesCore>
auto getCastMeshsetRhsFE ()
 Get typed meshset right-hand side finite element.
 
template<typename T = ForcesAndSourcesCore>
auto getCastMeshsetLhsFE ()
 Get typed meshset left-hand side finite element.
 
template<typename T = ForcesAndSourcesCore>
auto getCastMeshsetExplicitRhsFE ()
 Get typed meshset explicit right-hand side finite element.
 
template<int DIM = -1>
MoFEMErrorCode setDomainLhsIntegrationRule (RuleHookFun rule)
 Set integration rule for domain left-hand side finite element.
 
template<int DIM = -1>
MoFEMErrorCode setDomainRhsIntegrationRule (RuleHookFun rule)
 Set integration rule for domain right-hand side finite element.
 
template<int DIM = -1>
MoFEMErrorCode setBoundaryLhsIntegrationRule (RuleHookFun rule)
 Set integration rule for boundary left-hand side finite element.
 
template<int DIM = -1>
MoFEMErrorCode setBoundaryRhsIntegrationRule (RuleHookFun rule)
 Set integration rule for boundary right-hand side finite element.
 
template<int DIM = -1>
MoFEMErrorCode setEvaluationIntegrationRule (RuleHookFun rule)
 Set integration rule for domain evaluation finite element.
 
template<int DIM = -1>
MoFEMErrorCode setSkeletonLhsIntegrationRule (RuleHookFun rule)
 Set integration rule for skeleton left-hand side finite element.
 
template<int DIM = -1>
MoFEMErrorCode setSkeletonRhsIntegrationRule (RuleHookFun rule)
 Set integration rule for skeleton right-hand side finite element.
 
template<int DIM = -1>
MoFEMErrorCode setDomainExplicitRhsIntegrationRule (RuleHookFun rule)
 Set integration rule for domain explicit right-hand side finite element.
 
template<int DIM = -1>
MoFEMErrorCode setBoundaryExplicitRhsIntegrationRule (RuleHookFun rule)
 Set integration rule for boundary explicit right-hand side finite element.
 
template<int DIM = -1>
MoFEMErrorCode setSkeletonExplicitRhsIntegrationRule (RuleHookFun rule)
 Set integration rule for skeleton explicit right-hand side finite element.
 
template<int DIM = -1>
boost::ptr_deque< UserDataOperator > & getOpDomainLhsPipeline ()
 Get the Op Domain Lhs Pipeline object.
 
template<int DIM = -1>
boost::ptr_deque< UserDataOperator > & getOpDomainRhsPipeline ()
 Get the Op Domain Rhs Pipeline object.
 
template<int DIM = -1>
boost::ptr_deque< UserDataOperator > & getOpBoundaryLhsPipeline ()
 Get the Op Boundary Lhs Pipeline object.
 
template<int DIM = -1>
boost::ptr_deque< UserDataOperator > & getOpBoundaryRhsPipeline ()
 Get the Op Boundary Rhs Pipeline object.
 
template<int DIM = -1>
boost::ptr_deque< UserDataOperator > & getOpDomainPostProcPipeline ()
 Get the Op Domain PostProc Pipeline object.
 
template<int DIM = -1>
boost::ptr_deque< UserDataOperator > & getOpBoundaryPostProcPipeline ()
 Get the Op Boundary PostProc Pipeline object.
 
template<int DIM = -1>
boost::ptr_deque< UserDataOperator > & getOpEvaluationPipeline ()
 Get the Op Domain Evaluation Pipeline object.
 
template<int DIM = -1>
boost::ptr_deque< UserDataOperator > & getOpSkeletonLhsPipeline ()
 Get the Op Skeleton Lhs Pipeline object.
 
template<int DIM = -1>
boost::ptr_deque< UserDataOperator > & getOpSkeletonRhsPipeline ()
 Get the Op Skeleton Rhs Pipeline object.
 
template<int DIM = -1>
boost::ptr_deque< UserDataOperator > & getOpDomainExplicitRhsPipeline ()
 Get the Op Domain Rhs Pipeline object for implicit-explicit G term.
 
template<int DIM = -1>
boost::ptr_deque< UserDataOperator > & getOpBoundaryExplicitRhsPipeline ()
 Get the Op Boundary Rhs Pipeline object for implicit-explicit G term.
 
template<int DIM = -1>
boost::ptr_deque< UserDataOperator > & getOpSkeletonExplicitRhsPipeline ()
 Get the Op Skeleton Rhs Pipeline object for implicit-explicit G term.
 
boost::ptr_deque< UserDataOperator > & getOpMeshsetRhsPipeline ()
 Get the Op Meshset Rhs Pipeline object.
 
boost::ptr_deque< UserDataOperator > & getOpMeshsetLhsPipeline ()
 Get the Op Meshset Lhs Pipeline object.
 
boost::ptr_deque< UserDataOperator > & getOpMeshsetExplicitRhsPipeline ()
 Get the Op Meshset Explicit Rhs Pipeline object.
 
MoFEMErrorCode loopFiniteElements (SmartPetscObj< DM > dm=nullptr)
 Iterate finite elements.
 
MoFEMErrorCode loopFiniteElementsPostProc (SmartPetscObj< DM > dm=nullptr)
 Iterate postprocessing finite elements.
 
MoFEMErrorCode loopDomainPostProc (SmartPetscObj< DM > dm=nullptr)
 Iterate domain postprocessing finite elements only.
 
MoFEMErrorCode loopBoundaryPostProc (SmartPetscObj< DM > dm=nullptr)
 Iterate boundary postprocessing finite elements only.
 
MoFEMErrorCode loopFiniteElementsEvaluation (SmartPetscObj< DM > dm=nullptr)
 Iterate evaluation finite elements.
 
SmartPetscObj< KSP > createKSP (SmartPetscObj< DM > dm=nullptr)
 Create KSP (linear) solver.
 
SmartPetscObj< SNES > createSNES (SmartPetscObj< DM > dm=nullptr)
 Create SNES (nonlinear) solver.
 
SmartPetscObj< TS > createTS (const TSType type, SmartPetscObj< DM > dm=nullptr)
 Create TS (time) solver with specified type.
 
SmartPetscObj< TS > createTSEX (SmartPetscObj< DM > dm=nullptr)
 Create TS (time) explicit solver.
 
SmartPetscObj< TS > createTSIM (SmartPetscObj< DM > dm=nullptr)
 Create TS (time) implicit solver.
 
DEPRECATED auto createTS (SmartPetscObj< DM > dm=nullptr)
 
SmartPetscObj< TS > createTSIM2 (SmartPetscObj< DM > dm=nullptr)
 Create TS (time) solver for second order equation in time.
 
DEPRECATED auto createTS2 (SmartPetscObj< DM > dm=nullptr)
 
SmartPetscObj< TS > createTSIMEX (SmartPetscObj< DM > dm=nullptr)
 Create TS (time) implicit-explicit solver.
 
template<>
MoFEMErrorCode setDomainLhsIntegrationRule (PipelineManager::RuleHookFun rule)
 
template<>
MoFEMErrorCode setDomainRhsIntegrationRule (PipelineManager::RuleHookFun rule)
 
template<>
MoFEMErrorCode setBoundaryLhsIntegrationRule (PipelineManager::RuleHookFun rule)
 
template<>
MoFEMErrorCode setBoundaryRhsIntegrationRule (PipelineManager::RuleHookFun rule)
 
template<>
MoFEMErrorCode setEvaluationIntegrationRule (PipelineManager::RuleHookFun rule)
 
template<>
MoFEMErrorCode setSkeletonLhsIntegrationRule (PipelineManager::RuleHookFun rule)
 
template<>
MoFEMErrorCode setSkeletonRhsIntegrationRule (PipelineManager::RuleHookFun rule)
 
template<>
MoFEMErrorCode setDomainExplicitRhsIntegrationRule (PipelineManager::RuleHookFun rule)
 
template<>
MoFEMErrorCode setBoundaryExplicitRhsIntegrationRule (PipelineManager::RuleHookFun rule)
 
template<>
MoFEMErrorCode setSkeletonExplicitRhsIntegrationRule (PipelineManager::RuleHookFun rule)
 
template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & getOpDomainLhsPipeline ()
 
template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & getOpDomainRhsPipeline ()
 
template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & getOpBoundaryLhsPipeline ()
 
template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & getOpBoundaryRhsPipeline ()
 
template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & getOpDomainPostProcPipeline ()
 
template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & getOpBoundaryPostProcPipeline ()
 
template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & getOpEvaluationPipeline ()
 
template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & getOpSkeletonLhsPipeline ()
 
template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & getOpSkeletonRhsPipeline ()
 
template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & getOpDomainExplicitRhsPipeline ()
 
template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & getOpBoundaryExplicitRhsPipeline ()
 
template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & getOpSkeletonExplicitRhsPipeline ()
 
- Public Member Functions inherited from MoFEM::UnknownInterface
template<class IFACE >
MoFEMErrorCode registerInterface (bool error_if_registration_failed=true)
 Register interface.
 
template<class IFACE >
MoFEMErrorCode getInterface (IFACE *&iface) const
 Get interface reference to pointer of interface.
 
template<class IFACE >
MoFEMErrorCode getInterface (IFACE **const iface) const
 Get interface pointer to pointer of interface.
 
template<class IFACE , typename boost::enable_if< boost::is_pointer< IFACE >, int >::type = 0>
IFACE getInterface () const
 Get interface pointer to pointer of interface.
 
template<class IFACE , typename boost::enable_if< boost::is_reference< IFACE >, int >::type = 0>
IFACE getInterface () const
 Get reference to interface.
 
template<class IFACE >
IFACE * getInterface () const
 Function returning pointer to interface.
 
virtual ~UnknownInterface ()=default
 

Private Member Functions

template<int DIM>
boost::shared_ptr< FEMethod > & createDomainFEPipeline (boost::shared_ptr< FEMethod > &fe)
 Create domain finite element pipeline based on dimension.
 
template<int DIM>
boost::shared_ptr< FEMethod > & createBoundaryFEPipeline (boost::shared_ptr< FEMethod > &fe)
 Create boundary finite element pipeline based on dimension.
 
boost::shared_ptr< FEMethod > & createMeshsetFEPipeline (boost::shared_ptr< FEMethod > &fe)
 Create meshset finite element pipeline.
 
template<>
boost::shared_ptr< FEMethod > & createDomainFEPipeline (boost::shared_ptr< FEMethod > &fe)
 
template<>
boost::shared_ptr< FEMethod > & createDomainFEPipeline (boost::shared_ptr< FEMethod > &fe)
 
template<>
boost::shared_ptr< FEMethod > & createDomainFEPipeline (boost::shared_ptr< FEMethod > &fe)
 
template<>
boost::shared_ptr< FEMethod > & createDomainFEPipeline (boost::shared_ptr< FEMethod > &fe)
 
template<>
boost::shared_ptr< FEMethod > & createBoundaryFEPipeline (boost::shared_ptr< FEMethod > &fe)
 
template<>
boost::shared_ptr< FEMethod > & createBoundaryFEPipeline (boost::shared_ptr< FEMethod > &fe)
 
template<>
boost::shared_ptr< FEMethod > & createBoundaryFEPipeline (boost::shared_ptr< FEMethod > &fe)
 
template<>
boost::shared_ptr< FEMethod > & createBoundaryFEPipeline (boost::shared_ptr< FEMethod > &fe)
 

Private Attributes

MoFEM::CorecOre
 Reference to MoFEM core instance.
 
boost::shared_ptr< FEMethodfeDomainRhs
 Element to assemble RHS side by integrating domain.
 
boost::shared_ptr< FEMethodfeDomainLhs
 Element to assemble LHS side by integrating domain.
 
boost::shared_ptr< FEMethodfeBoundaryRhs
 Element to assemble RHS side by integrating boundary.
 
boost::shared_ptr< FEMethodfeDomainPostProc
 Element for postprocessing by integrating domain.
 
boost::shared_ptr< FEMethodfeBoundaryPostProc
 Element for postprocessing by integrating boundary.
 
boost::shared_ptr< FEMethodfeEvaluation
 Element for evaluation by integrating domain.
 
boost::shared_ptr< FEMethodfeBoundaryLhs
 Element to assemble LHS side by integrating boundary.
 
boost::shared_ptr< FEMethodfeSkeletonRhs
 Element to assemble RHS side by integrating skeleton.
 
boost::shared_ptr< FEMethodfeSkeletonLhs
 Element to assemble LHS side by integrating skeleton.
 
boost::shared_ptr< FEMethodfeDomainExplicitRhs
 Element to assemble explicit Rhs for IMEX solver.
 
boost::shared_ptr< FEMethodfeBoundaryExplicitRhs
 
boost::shared_ptr< FEMethodfeSkeletonExplicitRhs
 
boost::shared_ptr< FEMethodfeMeshsetRhs
 
boost::shared_ptr< FEMethodfeMeshsetLhs
 
boost::shared_ptr< FEMethodfeMeshsetExplicitRhs
 

Additional Inherited Members

- Static Public Member Functions inherited from MoFEM::UnknownInterface
static MoFEMErrorCode getLibVersion (Version &version)
 Get library version.
 
static MoFEMErrorCode getFileVersion (moab::Interface &moab, Version &version)
 Get database major version.
 
static MoFEMErrorCode setFileVersion (moab::Interface &moab, Version version=Version(MoFEM_VERSION_MAJOR, MoFEM_VERSION_MINOR, MoFEM_VERSION_BUILD))
 Get database major version.
 
static MoFEMErrorCode getInterfaceVersion (Version &version)
 Get database major version.
 

Detailed Description

PipelineManager interface.

Examples
mofem/atom_tests/child_and_parent.cpp, mofem/atom_tests/dg_projection.cpp, mofem/atom_tests/hanging_node_approx.cpp, mofem/atom_tests/hcurl_check_approx_in_2d.cpp, mofem/atom_tests/hcurl_curl_operator.cpp, mofem/atom_tests/hdiv_check_approx_in_3d.cpp, mofem/atom_tests/hdiv_divergence_operator.cpp, mofem/atom_tests/higher_derivatives.cpp, mofem/atom_tests/operators_tests.cpp, mofem/atom_tests/scalar_check_approximation.cpp, mofem/atom_tests/schur_test_diag_mat.cpp, mofem/atom_tests/simple_interface.cpp, mofem/atom_tests/simple_l2_only.cpp, mofem/atom_tests/tensor_divergence_operator.cpp, mofem/atom_tests/test_broken_space.cpp, mofem/tutorials/adv-0_plasticity/plastic.cpp, mofem/tutorials/adv-3_level_set/level_set.cpp, mofem/tutorials/adv-4_dynamic_first_order_con_law/dynamic_first_order_con_law.cpp, mofem/tutorials/adv-5_poroelasticity/seepage.cpp, mofem/tutorials/adv-6_dg_projection/between_meshes_dg_projection.cpp, mofem/tutorials/clx-0_acoustics/helmholtz.cpp, mofem/tutorials/fun-0_hello_world/hello_world.cpp, mofem/tutorials/fun-1_integration/integration.cpp, mofem/tutorials/fun-2_plot_base/plot_base.cpp, mofem/tutorials/mix-0_mixed_poisson/mixed_poisson.cpp, mofem/tutorials/mix-1_light_intensity_equation/phase.cpp, mofem/tutorials/scl-0_least_squares/approximation.cpp, mofem/tutorials/scl-1_poisson_2d_homogeneous/poisson_2d_homogeneous.cpp, mofem/tutorials/scl-6_heat_equation/heat_equation.cpp, mofem/tutorials/scl-7_wave_equation/wave_equation.cpp, mofem/tutorials/scl-8_heat_radiation/radiation.cpp, mofem/tutorials/scl-9_heat_method/heat_method.cpp, mofem/tutorials/vec-10_elasticity_schur/schur_elastic.cpp, mofem/tutorials/vec-1_eigen_elasticity/eigen_elastic.cpp, mofem/tutorials/vec-3_nonlinear_dynamics/nonlinear_dynamic_elastic.cpp, mofem/tutorials/vec-4_shallow_wave/approx_sphere.cpp, mofem/tutorials/vec-4_shallow_wave/shallow_wave.cpp, mofem/tutorials/vec-5_free_surface/free_surface.cpp, mofem/tutorials/vec-6_dg_kirchhoff_plate/plate.cpp, mofem/tutorials/vec-7_shape_optimisation/adjoint.cpp, mofem/users_modules/adolc-plasticity/adolc_plasticity.cpp, nonlinear_elastic.cpp, plastic.cpp, thermo_elastic.cpp, and thermoplastic.cpp.

Definition at line 24 of file PipelineManager.hpp.

Member Typedef Documentation

◆ EdgeEle

Definition at line 48 of file PipelineManager.hpp.

◆ FaceEle

Definition at line 47 of file PipelineManager.hpp.

◆ RuleHookFun

Definition at line 44 of file PipelineManager.hpp.

◆ UserDataOperator

Definition at line 43 of file PipelineManager.hpp.

◆ VolEle

Definition at line 46 of file PipelineManager.hpp.

Member Enumeration Documentation

◆ TSType

Enumeration of time solver types.

Enumerator
EX 

Explicit time integration.

IM 

Implicit time integration.

IM2 

Second-order implicit time integration.

IMEX 

Implicit-explicit time integration.

Definition at line 615 of file PipelineManager.hpp.

615 {
616 EX, ///< Explicit time integration
617 IM, ///< Implicit time integration
618 IM2, ///< Second-order implicit time integration
619 IMEX ///< Implicit-explicit time integration
620 };
@ IM
Implicit time integration.
@ IM2
Second-order implicit time integration.
@ IMEX
Implicit-explicit time integration.
@ EX
Explicit time integration.

Constructor & Destructor Documentation

◆ PipelineManager()

MoFEM::PipelineManager::PipelineManager ( const MoFEM::Core core)

Construct PipelineManager.

Parameters
coreReference to MoFEM core instance

Definition at line 60 of file PipelineManager.cpp.

61 : cOre(const_cast<Core &>(core)) {}
CoreTmp< 0 > Core
Definition Core.hpp:1154
MoFEM::Core & cOre
Reference to MoFEM core instance.

Member Function Documentation

◆ createBoundaryFEPipeline() [1/5]

template<int DIM>
boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::createBoundaryFEPipeline ( boost::shared_ptr< FEMethod > &  fe)
inlineprivate

Create boundary finite element pipeline based on dimension.

Template Parameters
DIMProblem dimension (1, 2, 3, or -1 for automatic detection)
Parameters
feReference to finite element method shared pointer
Returns
boost::shared_ptr<FEMethod>& Reference to created finite element

Definition at line 807 of file PipelineManager.hpp.

807 {
808 static_assert(DIM == 1 || DIM == 2 || DIM == 3, "not implemented");
809 fe = boost::make_shared<FEMethod>();
810 return fe;
811}

◆ createBoundaryFEPipeline() [2/5]

template<>
boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::createBoundaryFEPipeline ( boost::shared_ptr< FEMethod > &  fe)
inlineprivate

Definition at line 807 of file PipelineManager.hpp.

815 {
816 if (!fe)
817 fe = boost::make_shared<FaceElementForcesAndSourcesCore>(cOre);
818 return fe;
819}

◆ createBoundaryFEPipeline() [3/5]

template<>
boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::createBoundaryFEPipeline ( boost::shared_ptr< FEMethod > &  fe)
inlineprivate

Definition at line 807 of file PipelineManager.hpp.

831 {
832 if (!fe)
833 fe = boost::make_shared<VertexElementForcesAndSourcesCore>(cOre);
834 return fe;
835}

◆ createBoundaryFEPipeline() [4/5]

template<>
boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::createBoundaryFEPipeline ( boost::shared_ptr< FEMethod > &  fe)
inlineprivate

Definition at line 807 of file PipelineManager.hpp.

823 {
824 if (!fe)
825 fe = boost::make_shared<EdgeEle>(cOre);
826 return fe;
827}

◆ createBoundaryFEPipeline() [5/5]

template<>
boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::createBoundaryFEPipeline ( boost::shared_ptr< FEMethod > &  fe)
inlineprivate

Definition at line 893 of file PipelineManager.hpp.

899 {
900 switch (cOre.getInterface<Simple>()->getDim()) {
901 case 1:
902 return createBoundaryFEPipeline<1>(fe);
903 case 2:
904 return createBoundaryFEPipeline<2>(fe);
905 case 3:
906 return createBoundaryFEPipeline<3>(fe);
907 default:
908 THROW_MESSAGE("Not implemented");
909 }
910}
#define THROW_MESSAGE(msg)
Throw MoFEM exception.
MoFEMErrorCode getInterface(IFACE *&iface) const
Get interface reference to pointer of interface.

◆ createDomainFEPipeline() [1/5]

template<int DIM>
boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::createDomainFEPipeline ( boost::shared_ptr< FEMethod > &  fe)
inlineprivate

Create domain finite element pipeline based on dimension.

Template Parameters
DIMProblem dimension (1, 2, 3, or -1 for automatic detection)
Parameters
feReference to finite element method shared pointer
Returns
boost::shared_ptr<FEMethod>& Reference to created finite element

Definition at line 760 of file PipelineManager.hpp.

760 {
761 static_assert(DIM == 1 || DIM == 2 || DIM == 3, "not implemented");
762 fe = boost::make_shared<FEMethod>();
763 return fe;
764}

◆ createDomainFEPipeline() [2/5]

template<>
boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::createDomainFEPipeline ( boost::shared_ptr< FEMethod > &  fe)
inlineprivate

Definition at line 760 of file PipelineManager.hpp.

768 {
769 if (!fe)
770 fe = boost::make_shared<VolEle>(cOre);
771 return fe;
772}

◆ createDomainFEPipeline() [3/5]

template<>
boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::createDomainFEPipeline ( boost::shared_ptr< FEMethod > &  fe)
inlineprivate

Definition at line 760 of file PipelineManager.hpp.

776 {
777 if (!fe)
778 fe = boost::make_shared<FaceEle>(cOre);
779 return fe;
780}

◆ createDomainFEPipeline() [4/5]

template<>
boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::createDomainFEPipeline ( boost::shared_ptr< FEMethod > &  fe)
inlineprivate

Definition at line 760 of file PipelineManager.hpp.

784 {
785 if (!fe)
786 fe = boost::make_shared<EdgeEle>(cOre);
787 return fe;
788}

◆ createDomainFEPipeline() [5/5]

template<>
boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::createDomainFEPipeline ( boost::shared_ptr< FEMethod > &  fe)
inlineprivate

Definition at line 760 of file PipelineManager.hpp.

792 {
793 switch (cOre.getInterface<Simple>()->getDim()) {
794 case 1:
795 return createDomainFEPipeline<1>(fe);
796 case 2:
797 return createDomainFEPipeline<2>(fe);
798 case 3:
799 return createDomainFEPipeline<3>(fe);
800 default:
801 THROW_MESSAGE("Not implemented");
802 }
803}

◆ createMeshsetFEPipeline()

boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::createMeshsetFEPipeline ( boost::shared_ptr< FEMethod > &  fe)
inlineprivate

Create meshset finite element pipeline.

Parameters
feReference to finite element method shared pointer
Returns
boost::shared_ptr<FEMethod>& Reference to created finite element

Definition at line 26 of file PipelineManager.cpp.

26 {
27 if (!fe)
28 fe = boost::make_shared<MeshsetFE>(cOre);
29 return fe;
30}

◆ createTS() [1/2]

SmartPetscObj< TS > MoFEM::PipelineManager::createTS ( const TSType  type,
SmartPetscObj< DM >  dm = nullptr 
)

Create TS (time) solver with specified type.

Parameters
typeType of time solver (EX/IM/IM2/IMEX)
dmOptional DM object (default: nullptr)
Returns
SmartPetscObj<TS> Smart pointer to PETSc TS solver

Definition at line 319 of file PipelineManager.cpp.

320 {
321 switch (type) {
322 case EX:
323 return createTSEX(dm);
324 break;
325 case IM:
326 return createTSIM(dm);
327 break;
328 case IM2:
329 return createTSIM2(dm);
330 break;
331 case IMEX:
332 return createTSIMEX(dm);
333 break;
334 default:
336 "TS solver handling not implemented");
337 break;
338 }
339 return SmartPetscObj<TS>();
340}
std::string type
#define CHK_THROW_MESSAGE(err, msg)
Check and throw MoFEM exception.
@ MOFEM_NOT_IMPLEMENTED
Definition definitions.h:32
SmartPetscObj< TS > createTSIM(SmartPetscObj< DM > dm=nullptr)
Create TS (time) implicit solver.
SmartPetscObj< TS > createTSIM2(SmartPetscObj< DM > dm=nullptr)
Create TS (time) solver for second order equation in time.
SmartPetscObj< TS > createTSIMEX(SmartPetscObj< DM > dm=nullptr)
Create TS (time) implicit-explicit solver.
SmartPetscObj< TS > createTSEX(SmartPetscObj< DM > dm=nullptr)
Create TS (time) explicit solver.

◆ createTS() [2/2]

DEPRECATED auto MoFEM::PipelineManager::createTS ( SmartPetscObj< DM >  dm = nullptr)
inline
Deprecated:
Use version with explicit TS solver type

Definition at line 652 of file PipelineManager.hpp.

652 {
653 return createTSIM(dm);
654 }

◆ createTS2()

DEPRECATED auto MoFEM::PipelineManager::createTS2 ( SmartPetscObj< DM >  dm = nullptr)
inline
Deprecated:
Change name. Use createTSIM2 instead.

Definition at line 668 of file PipelineManager.hpp.

668 {
669 return createTSIM2(dm);
670 }

◆ getBoundaryExplicitRhsFE()

boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::getBoundaryExplicitRhsFE ( )
inline

Get boundary explicit right-hand side finite element.

Returns
boost::shared_ptr<FEMethod>& Reference to boundary explicit RHS finite element for IMEX schemes

Definition at line 877 of file PipelineManager.hpp.

877 {
879}
boost::shared_ptr< FEMethod > feBoundaryExplicitRhs

◆ getBoundaryLhsFE()

boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::getBoundaryLhsFE ( )
inline

Get boundary left-hand side finite element.

Returns
boost::shared_ptr<FEMethod>& Reference to boundary LHS finite element for matrix assembly

Definition at line 845 of file PipelineManager.hpp.

845 {
846 return feBoundaryLhs;
847}
boost::shared_ptr< FEMethod > feBoundaryLhs
Element to assemble LHS side by integrating boundary.

◆ getBoundaryPostProcFE()

boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::getBoundaryPostProcFE ( )
inline

Get boundary postprocessing finite element.

Returns
boost::shared_ptr<FEMethod>& Reference to boundary postprocessing finite element

Definition at line 857 of file PipelineManager.hpp.

857 {
858 return feBoundaryPostProc;
859}
boost::shared_ptr< FEMethod > feBoundaryPostProc
Element for postprocessing by integrating boundary.

◆ getBoundaryRhsFE()

boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::getBoundaryRhsFE ( )
inline

Get boundary right-hand side finite element.

Returns
boost::shared_ptr<FEMethod>& Reference to boundary RHS finite element for vector assembly
Examples
mofem/atom_tests/child_and_parent.cpp, mofem/atom_tests/hanging_node_approx.cpp, and mofem/tutorials/scl-7_wave_equation/wave_equation.cpp.

Definition at line 849 of file PipelineManager.hpp.

849 {
850 return feBoundaryRhs;
851}
boost::shared_ptr< FEMethod > feBoundaryRhs
Element to assemble RHS side by integrating boundary.

◆ getCastBoundaryExplicitRhsFE()

template<typename T , int DIM>
auto MoFEM::PipelineManager::getCastBoundaryExplicitRhsFE ( )
inline

Get typed boundary explicit right-hand side finite element.

Template Parameters
TTarget finite element type (default: ForcesAndSourcesCore)
DIMDimension (-1 for automatic detection from problem)
Returns
auto Shared pointer to typed boundary explicit RHS finite element

Definition at line 967 of file PipelineManager.hpp.

967 {
968 return boost::dynamic_pointer_cast<T>(
969 createBoundaryFEPipeline<DIM>(feBoundaryExplicitRhs));
970}

◆ getCastBoundaryLhsFE()

template<typename T , int DIM>
auto MoFEM::PipelineManager::getCastBoundaryLhsFE ( )
inline

Get typed boundary left-hand side finite element.

Template Parameters
TTarget finite element type (default: ForcesAndSourcesCore)
DIMDimension (-1 for automatic detection from problem)
Returns
auto Shared pointer to typed boundary LHS finite element

Definition at line 922 of file PipelineManager.hpp.

922 {
923 return boost::dynamic_pointer_cast<T>(
924 createBoundaryFEPipeline<DIM>(feBoundaryLhs));
925}

◆ getCastBoundaryPostProcFE()

template<typename T , int DIM>
auto MoFEM::PipelineManager::getCastBoundaryPostProcFE ( )
inline

Get typed boundary postprocessing finite element.

Template Parameters
TTarget finite element type (default: ForcesAndSourcesCore)
DIMDimension (-1 for automatic detection from problem)
Returns
auto Shared pointer to typed boundary postprocessing finite element

Definition at line 939 of file PipelineManager.hpp.

939 {
940 return boost::dynamic_pointer_cast<T>(
941 createBoundaryFEPipeline<DIM>(feBoundaryPostProc));
942}

◆ getCastBoundaryRhsFE()

template<typename T , int DIM>
auto MoFEM::PipelineManager::getCastBoundaryRhsFE ( )
inline

Get typed boundary right-hand side finite element.

Template Parameters
TTarget finite element type (default: ForcesAndSourcesCore)
DIMDimension (-1 for automatic detection from problem)
Returns
auto Shared pointer to typed boundary RHS finite element

Definition at line 928 of file PipelineManager.hpp.

928 {
929 return boost::dynamic_pointer_cast<T>(
930 createBoundaryFEPipeline<DIM>(feBoundaryRhs));
931}

◆ getCastDomainExplicitRhsFE()

template<typename T , int DIM>
auto MoFEM::PipelineManager::getCastDomainExplicitRhsFE ( )
inline

Get typed domain explicit right-hand side finite element.

Template Parameters
TTarget finite element type (default: ForcesAndSourcesCore)
DIMDimension (-1 for automatic detection from problem)
Returns
auto Shared pointer to typed domain explicit RHS finite element

Definition at line 961 of file PipelineManager.hpp.

961 {
962 return boost::dynamic_pointer_cast<T>(
963 createDomainFEPipeline<DIM>(feDomainExplicitRhs));
964}
boost::shared_ptr< FEMethod > feDomainExplicitRhs
Element to assemble explicit Rhs for IMEX solver.

◆ getCastDomainLhsFE()

template<typename T , int DIM>
auto MoFEM::PipelineManager::getCastDomainLhsFE ( )
inline

Get typed domain left-hand side finite element.

Template Parameters
TTarget finite element type (default: ForcesAndSourcesCore)
DIMDimension (-1 for automatic detection from problem)
Returns
auto Shared pointer to typed domain LHS finite element

Definition at line 912 of file PipelineManager.hpp.

912 {
913 return boost::dynamic_pointer_cast<T>(
914 createDomainFEPipeline<DIM>(feDomainLhs));
915}
boost::shared_ptr< FEMethod > feDomainLhs
Element to assemble LHS side by integrating domain.

◆ getCastDomainPostProcFE()

template<typename T , int DIM>
auto MoFEM::PipelineManager::getCastDomainPostProcFE ( )
inline

Get typed domain postprocessing finite element.

Template Parameters
TTarget finite element type (default: ForcesAndSourcesCore)
DIMDimension (-1 for automatic detection from problem)
Returns
auto Shared pointer to typed domain postprocessing finite element

Definition at line 933 of file PipelineManager.hpp.

933 {
934 return boost::dynamic_pointer_cast<T>(
935 createDomainFEPipeline<DIM>(feDomainPostProc));
936}
boost::shared_ptr< FEMethod > feDomainPostProc
Element for postprocessing by integrating domain.

◆ getCastDomainRhsFE()

template<typename T , int DIM>
auto MoFEM::PipelineManager::getCastDomainRhsFE ( )
inline

Get typed domain right-hand side finite element.

Template Parameters
TTarget finite element type (default: ForcesAndSourcesCore)
DIMDimension (-1 for automatic detection from problem)
Returns
auto Shared pointer to typed domain RHS finite element

Definition at line 917 of file PipelineManager.hpp.

917 {
918 return boost::dynamic_pointer_cast<T>(
919 createDomainFEPipeline<DIM>(feDomainRhs));
920}
boost::shared_ptr< FEMethod > feDomainRhs
Element to assemble RHS side by integrating domain.

◆ getCastEvaluationFE()

template<typename T , int DIM>
auto MoFEM::PipelineManager::getCastEvaluationFE ( )
inline

Get typed domain evaluation finite element.

Template Parameters
TTarget finite element type (default: ForcesAndSourcesCore)
DIMDimension (-1 for automatic detection from problem)
Returns
auto Shared pointer to typed domain evaluation finite element

Definition at line 944 of file PipelineManager.hpp.

944 {
945 return boost::dynamic_pointer_cast<T>(
946 createDomainFEPipeline<DIM>(feEvaluation));
947}
boost::shared_ptr< FEMethod > feEvaluation
Element for evaluation by integrating domain.

◆ getCastMeshsetExplicitRhsFE()

template<typename T >
auto MoFEM::PipelineManager::getCastMeshsetExplicitRhsFE ( )
inline

Get typed meshset explicit right-hand side finite element.

Template Parameters
TTarget finite element type (default: ForcesAndSourcesCore)
Returns
auto Shared pointer to typed meshset explicit RHS finite element

Definition at line 986 of file PipelineManager.hpp.

986 {
987 return boost::dynamic_pointer_cast<T>(
989}
boost::shared_ptr< FEMethod > feMeshsetExplicitRhs
boost::shared_ptr< FEMethod > & createMeshsetFEPipeline(boost::shared_ptr< FEMethod > &fe)
Create meshset finite element pipeline.

◆ getCastMeshsetLhsFE()

template<typename T >
auto MoFEM::PipelineManager::getCastMeshsetLhsFE ( )
inline

Get typed meshset left-hand side finite element.

Template Parameters
TTarget finite element type (default: ForcesAndSourcesCore)
Returns
auto Shared pointer to typed meshset LHS finite element

Definition at line 982 of file PipelineManager.hpp.

982 {
983 return boost::dynamic_pointer_cast<T>(createMeshsetFEPipeline(feMeshsetLhs));
984}
boost::shared_ptr< FEMethod > feMeshsetLhs

◆ getCastMeshsetRhsFE()

template<typename T >
auto MoFEM::PipelineManager::getCastMeshsetRhsFE ( )
inline

Get typed meshset right-hand side finite element.

Template Parameters
TTarget finite element type (default: ForcesAndSourcesCore)
Returns
auto Shared pointer to typed meshset RHS finite element

Definition at line 978 of file PipelineManager.hpp.

978 {
979 return boost::dynamic_pointer_cast<T>(createMeshsetFEPipeline(feMeshsetRhs));
980}
boost::shared_ptr< FEMethod > feMeshsetRhs

◆ getCastSkeletonExplicitRhsFE()

template<typename T , int DIM>
auto MoFEM::PipelineManager::getCastSkeletonExplicitRhsFE ( )
inline

Get typed skeleton explicit right-hand side finite element.

Template Parameters
TTarget finite element type (default: ForcesAndSourcesCore)
DIMDimension (-1 for automatic detection from problem)
Returns
auto Shared pointer to typed skeleton explicit RHS finite element

Definition at line 973 of file PipelineManager.hpp.

973 {
974 return boost::dynamic_pointer_cast<T>(
975 createBoundaryFEPipeline<DIM>(feSkeletonExplicitRhs));
976}
boost::shared_ptr< FEMethod > feSkeletonExplicitRhs

◆ getCastSkeletonLhsFE()

template<typename T , int DIM>
auto MoFEM::PipelineManager::getCastSkeletonLhsFE ( )
inline

Get typed skeleton left-hand side finite element.

Template Parameters
TTarget finite element type (default: ForcesAndSourcesCore)
DIMDimension (-1 for automatic detection from problem)
Returns
auto Shared pointer to typed skeleton LHS finite element

Definition at line 950 of file PipelineManager.hpp.

950 {
951 return boost::dynamic_pointer_cast<T>(
952 createBoundaryFEPipeline<DIM>(feSkeletonLhs));
953}
boost::shared_ptr< FEMethod > feSkeletonLhs
Element to assemble LHS side by integrating skeleton.

◆ getCastSkeletonRhsFE()

template<typename T , int DIM>
auto MoFEM::PipelineManager::getCastSkeletonRhsFE ( )
inline

Get typed skeleton right-hand side finite element.

Template Parameters
TTarget finite element type (default: ForcesAndSourcesCore)
DIMDimension (-1 for automatic detection from problem)
Returns
auto Shared pointer to typed skeleton RHS finite element

Definition at line 955 of file PipelineManager.hpp.

955 {
956 return boost::dynamic_pointer_cast<T>(
957 createBoundaryFEPipeline<DIM>(feSkeletonRhs));
958}
boost::shared_ptr< FEMethod > feSkeletonRhs
Element to assemble RHS side by integrating skeleton.

◆ getDomainExplicitRhsFE()

boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::getDomainExplicitRhsFE ( )
inline

Get domain explicit right-hand side finite element.

Returns
boost::shared_ptr<FEMethod>& Reference to domain explicit RHS finite element for IMEX schemes

Definition at line 873 of file PipelineManager.hpp.

873 {
874 return feDomainExplicitRhs;
875}

◆ getDomainLhsFE()

boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::getDomainLhsFE ( )
inline

◆ getDomainPostProcFE()

boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::getDomainPostProcFE ( )
inline

◆ getDomainRhsFE()

boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::getDomainRhsFE ( )
inline

Get domain right-hand side finite element.

Returns
boost::shared_ptr<FEMethod>& Reference to domain RHS finite element for vector assembly
Examples
mofem/atom_tests/child_and_parent.cpp, mofem/atom_tests/hanging_node_approx.cpp, mofem/tutorials/mix-0_mixed_poisson/mixed_poisson.cpp, and mofem/tutorials/scl-6_heat_equation/heat_equation.cpp.

Definition at line 841 of file PipelineManager.hpp.

841 {
842 return feDomainRhs;
843}

◆ getEvaluationFE()

boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::getEvaluationFE ( )
inline

Get domain evaluation finite element.

Returns
boost::shared_ptr<FEMethod>& Reference to domain evaluation finite element

Definition at line 861 of file PipelineManager.hpp.

861 {
862 return feEvaluation;
863}

◆ getMeshsetExplicitRhsFE()

boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::getMeshsetExplicitRhsFE ( )
inline

Get meshset explicit right-hand side finite element.

Returns
boost::shared_ptr<FEMethod>& Reference to meshset explicit RHS finite element for IMEX schemes

Definition at line 893 of file PipelineManager.hpp.

893 {
895}

◆ getMeshsetLhsFE()

boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::getMeshsetLhsFE ( )
inline

Get meshset left-hand side finite element.

Returns
boost::shared_ptr<FEMethod>& Reference to meshset LHS finite element for matrix assembly

Definition at line 889 of file PipelineManager.hpp.

889 {
890 return feMeshsetLhs;
891}

◆ getMeshsetRhsFE()

boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::getMeshsetRhsFE ( )
inline

Get meshset right-hand side finite element.

Returns
boost::shared_ptr<FEMethod>& Reference to meshset RHS finite element for vector assembly

Definition at line 885 of file PipelineManager.hpp.

885 {
886 return feMeshsetRhs;
887}

◆ getOpBoundaryExplicitRhsPipeline()

template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & MoFEM::PipelineManager::getOpBoundaryExplicitRhsPipeline ( )
inline

Definition at line 1505 of file PipelineManager.hpp.

1513 {
1514 switch (cOre.getInterface<Simple>()->getDim()) {
1515 case 1:
1516 return getOpBoundaryExplicitRhsPipeline<1>();
1517 case 2:
1518 return getOpBoundaryExplicitRhsPipeline<2>();
1519 case 3:
1520 break;
1521 default:
1522 THROW_MESSAGE("Not implemented");
1523 }
1524 return getOpBoundaryExplicitRhsPipeline<3>();
1525}

◆ getOpBoundaryLhsPipeline()

template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & MoFEM::PipelineManager::getOpBoundaryLhsPipeline ( )
inline

Definition at line 1313 of file PipelineManager.hpp.

1321 {
1322 switch (cOre.getInterface<Simple>()->getDim()) {
1323 case 1:
1324 return getOpBoundaryLhsPipeline<1>();
1325 case 2:
1326 return getOpBoundaryLhsPipeline<2>();
1327 case 3:
1328 break;
1329 default:
1330 THROW_MESSAGE("Not implemented");
1331 }
1332 return getOpBoundaryLhsPipeline<3>();
1333}

◆ getOpBoundaryPostProcPipeline()

template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & MoFEM::PipelineManager::getOpBoundaryPostProcPipeline ( )
inline

Definition at line 1385 of file PipelineManager.hpp.

1393 {
1394 switch (cOre.getInterface<Simple>()->getDim()) {
1395 case 1:
1396 return getOpBoundaryPostProcPipeline<1>();
1397 case 2:
1398 return getOpBoundaryPostProcPipeline<2>();
1399 case 3:
1400 break;
1401 default:
1402 THROW_MESSAGE("Not implemented");
1403 }
1404 return getOpBoundaryPostProcPipeline<3>();
1405}

◆ getOpBoundaryRhsPipeline()

template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & MoFEM::PipelineManager::getOpBoundaryRhsPipeline ( )
inline

Definition at line 1337 of file PipelineManager.hpp.

1345 {
1346 switch (cOre.getInterface<Simple>()->getDim()) {
1347 case 1:
1348 return getOpBoundaryRhsPipeline<1>();
1349 case 2:
1350 return getOpBoundaryRhsPipeline<2>();
1351 case 3:
1352 break;
1353 default:
1354 THROW_MESSAGE("Not implemented");
1355 }
1356 return getOpBoundaryRhsPipeline<3>();
1357}

◆ getOpDomainExplicitRhsPipeline()

template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & MoFEM::PipelineManager::getOpDomainExplicitRhsPipeline ( )
inline

Definition at line 1481 of file PipelineManager.hpp.

1489 {
1490 switch (cOre.getInterface<Simple>()->getDim()) {
1491 case 1:
1492 return getOpDomainExplicitRhsPipeline<1>();
1493 case 2:
1494 return getOpDomainExplicitRhsPipeline<2>();
1495 case 3:
1496 break;
1497 default:
1498 THROW_MESSAGE("Not implemented");
1499 }
1500 return getOpDomainExplicitRhsPipeline<3>();
1501}

◆ getOpDomainLhsPipeline()

template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & MoFEM::PipelineManager::getOpDomainLhsPipeline ( )
inline

Definition at line 1265 of file PipelineManager.hpp.

1273 {
1274 switch (cOre.getInterface<Simple>()->getDim()) {
1275 case 1:
1276 return getOpDomainLhsPipeline<1>();
1277 case 2:
1278 return getOpDomainLhsPipeline<2>();
1279 case 3:
1280 break;
1281 default:
1282 THROW_MESSAGE("Not implemented");
1283 }
1284 return getOpDomainLhsPipeline<3>();
1285}

◆ getOpDomainPostProcPipeline()

template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & MoFEM::PipelineManager::getOpDomainPostProcPipeline ( )
inline

Definition at line 1361 of file PipelineManager.hpp.

1369 {
1370 switch (cOre.getInterface<Simple>()->getDim()) {
1371 case 1:
1372 return getOpDomainPostProcPipeline<1>();
1373 case 2:
1374 return getOpDomainPostProcPipeline<2>();
1375 case 3:
1376 break;
1377 default:
1378 THROW_MESSAGE("Not implemented");
1379 }
1380 return getOpDomainPostProcPipeline<3>();
1381}

◆ getOpDomainRhsPipeline()

template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & MoFEM::PipelineManager::getOpDomainRhsPipeline ( )
inline

Definition at line 1289 of file PipelineManager.hpp.

1297 {
1298 switch (cOre.getInterface<Simple>()->getDim()) {
1299 case 1:
1300 return getOpDomainRhsPipeline<1>();
1301 case 2:
1302 return getOpDomainRhsPipeline<2>();
1303 case 3:
1304 break;
1305 default:
1306 THROW_MESSAGE("Not implemented");
1307 }
1308 return getOpDomainRhsPipeline<3>();
1309}

◆ getOpEvaluationPipeline()

template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & MoFEM::PipelineManager::getOpEvaluationPipeline ( )
inline

Definition at line 1409 of file PipelineManager.hpp.

1417 {
1418 switch (cOre.getInterface<Simple>()->getDim()) {
1419 case 1:
1420 return getOpEvaluationPipeline<1>();
1421 case 2:
1422 return getOpEvaluationPipeline<2>();
1423 case 3:
1424 break;
1425 default:
1426 THROW_MESSAGE("Not implemented");
1427 }
1428 return getOpEvaluationPipeline<3>();
1429}

◆ getOpMeshsetExplicitRhsPipeline()

boost::ptr_deque< PipelineManager::UserDataOperator > & MoFEM::PipelineManager::getOpMeshsetExplicitRhsPipeline ( )

Get the Op Meshset Explicit Rhs Pipeline object.

Returns
boost::ptr_deque<UserDataOperator>&

Definition at line 47 of file PipelineManager.cpp.

47 {
48 return boost::dynamic_pointer_cast<ForcesAndSourcesCore>(
50 ->getOpPtrVector();
51}

◆ getOpMeshsetLhsPipeline()

boost::ptr_deque< PipelineManager::UserDataOperator > & MoFEM::PipelineManager::getOpMeshsetLhsPipeline ( )

Get the Op Meshset Lhs Pipeline object.

Returns
boost::ptr_deque<UserDataOperator>&

Definition at line 40 of file PipelineManager.cpp.

40 {
41 return boost::dynamic_pointer_cast<ForcesAndSourcesCore>(
43 ->getOpPtrVector();
44}

◆ getOpMeshsetRhsPipeline()

boost::ptr_deque< PipelineManager::UserDataOperator > & MoFEM::PipelineManager::getOpMeshsetRhsPipeline ( )

Get the Op Meshset Rhs Pipeline object.

Returns
boost::ptr_deque<UserDataOperator>&
Examples
mofem/atom_tests/simple_interface.cpp, and mofem/atom_tests/simple_l2_only.cpp.

Definition at line 33 of file PipelineManager.cpp.

33 {
34 return boost::dynamic_pointer_cast<ForcesAndSourcesCore>(
36 ->getOpPtrVector();
37}

◆ getOpSkeletonExplicitRhsPipeline()

template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & MoFEM::PipelineManager::getOpSkeletonExplicitRhsPipeline ( )
inline

Definition at line 1529 of file PipelineManager.hpp.

1537 {
1538 switch (cOre.getInterface<Simple>()->getDim()) {
1539 case 1:
1540 return getOpSkeletonExplicitRhsPipeline<1>();
1541 case 2:
1542 return getOpSkeletonExplicitRhsPipeline<2>();
1543 case 3:
1544 break;
1545 default:
1546 THROW_MESSAGE("Not implemented");
1547 }
1548 return getOpSkeletonExplicitRhsPipeline<3>();
1549}

◆ getOpSkeletonLhsPipeline()

template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & MoFEM::PipelineManager::getOpSkeletonLhsPipeline ( )
inline

Definition at line 1433 of file PipelineManager.hpp.

1441 {
1442 switch (cOre.getInterface<Simple>()->getDim()) {
1443 case 1:
1444 return getOpSkeletonLhsPipeline<1>();
1445 case 2:
1446 return getOpSkeletonLhsPipeline<2>();
1447 case 3:
1448 break;
1449 default:
1450 THROW_MESSAGE("Not implemented");
1451 }
1452 return getOpSkeletonLhsPipeline<3>();
1453}

◆ getOpSkeletonRhsPipeline()

template<>
boost::ptr_deque< PipelineManager::UserDataOperator > & MoFEM::PipelineManager::getOpSkeletonRhsPipeline ( )
inline

Definition at line 1457 of file PipelineManager.hpp.

1465 {
1466 switch (cOre.getInterface<Simple>()->getDim()) {
1467 case 1:
1468 return getOpSkeletonRhsPipeline<1>();
1469 case 2:
1470 return getOpSkeletonRhsPipeline<2>();
1471 case 3:
1472 break;
1473 default:
1474 THROW_MESSAGE("Not implemented");
1475 }
1476 return getOpSkeletonRhsPipeline<3>();
1477}

◆ getSkeletonExplicitRhsFE()

boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::getSkeletonExplicitRhsFE ( )
inline

Get skeleton explicit right-hand side finite element.

Returns
boost::shared_ptr<FEMethod>& Reference to skeleton explicit RHS finite element for IMEX schemes

Definition at line 881 of file PipelineManager.hpp.

881 {
883}

◆ getSkeletonLhsFE()

boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::getSkeletonLhsFE ( )
inline

Get skeleton left-hand side finite element.

Returns
boost::shared_ptr<FEMethod>& Reference to skeleton LHS finite element for matrix assembly

Definition at line 865 of file PipelineManager.hpp.

865 {
866 return feSkeletonLhs;
867}

◆ getSkeletonRhsFE()

boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::getSkeletonRhsFE ( )
inline

Get skeleton right-hand side finite element.

Returns
boost::shared_ptr<FEMethod>& Reference to skeleton RHS finite element for vector assembly

Definition at line 869 of file PipelineManager.hpp.

869 {
870 return feSkeletonRhs;
871}

◆ query_interface()

MoFEMErrorCode MoFEM::PipelineManager::query_interface ( boost::typeindex::type_index  type_index,
UnknownInterface **  iface 
) const
virtual

Query interface for type-safe casting.

Parameters
type_indexType index of the requested interface
ifacePointer to interface pointer to be set
Returns
MoFEMErrorCode Error code (0 on success)

Implements MoFEM::UnknownInterface.

Definition at line 54 of file PipelineManager.cpp.

55 {
56 *iface = const_cast<PipelineManager *>(this);
57 return 0;
58}
PipelineManager(const MoFEM::Core &core)
Construct PipelineManager.

◆ setBoundaryExplicitRhsIntegrationRule() [1/2]

template<>
MoFEMErrorCode MoFEM::PipelineManager::setBoundaryExplicitRhsIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline

Definition at line 1218 of file PipelineManager.hpp.

1220 {
1222 switch (cOre.getInterface<Simple>()->getDim()) {
1223 case 1:
1224 MoFEMFunctionReturnHot(setBoundaryExplicitRhsIntegrationRule<1>(rule));
1225 case 2:
1226 MoFEMFunctionReturnHot(setBoundaryExplicitRhsIntegrationRule<2>(rule));
1227 case 3:
1228 MoFEMFunctionReturnHot(setBoundaryExplicitRhsIntegrationRule<3>(rule));
1229 default:
1230 THROW_MESSAGE("Not implemented");
1231 }
1233}
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()

◆ setBoundaryExplicitRhsIntegrationRule() [2/2]

template<int DIM>
MoFEMErrorCode MoFEM::PipelineManager::setBoundaryExplicitRhsIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline

Set integration rule for boundary explicit right-hand side finite element.

Template Parameters
DIMDimension (-1 for automatic detection from problem)
Parameters
ruleIntegration rule hook function
Returns
MoFEMErrorCode Error code (0 on success)

Definition at line 1208 of file PipelineManager.hpp.

1209 {
1211 boost::dynamic_pointer_cast<ForcesAndSourcesCore>(
1212 createBoundaryFEPipeline<DIM>(feBoundaryExplicitRhs))
1213 ->getRuleHook = rule;
1215}

◆ setBoundaryLhsIntegrationRule() [1/2]

template<>
MoFEMErrorCode MoFEM::PipelineManager::setBoundaryLhsIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline

Definition at line 1056 of file PipelineManager.hpp.

1057 {
1059 switch (cOre.getInterface<Simple>()->getDim()) {
1060 case 1:
1061 MoFEMFunctionReturnHot(setBoundaryLhsIntegrationRule<1>(rule));
1062 case 2:
1063 MoFEMFunctionReturnHot(setBoundaryLhsIntegrationRule<2>(rule));
1064 case 3:
1065 MoFEMFunctionReturnHot(setBoundaryLhsIntegrationRule<3>(rule));
1066 default:
1067 THROW_MESSAGE("Not implemented");
1068 }
1070}

◆ setBoundaryLhsIntegrationRule() [2/2]

template<int DIM>
MoFEMErrorCode MoFEM::PipelineManager::setBoundaryLhsIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline

Set integration rule for boundary left-hand side finite element.

Template Parameters
DIMDimension (-1 for automatic detection from problem)
Parameters
ruleIntegration rule hook function
Returns
MoFEMErrorCode Error code (0 on success)
Examples
mofem/tutorials/clx-0_acoustics/helmholtz.cpp, and mofem/tutorials/scl-8_heat_radiation/radiation.cpp.

Definition at line 1046 of file PipelineManager.hpp.

1047 {
1049 boost::dynamic_pointer_cast<ForcesAndSourcesCore>(
1050 createBoundaryFEPipeline<DIM>(feBoundaryLhs))
1051 ->getRuleHook = rule;
1053}

◆ setBoundaryRhsIntegrationRule() [1/2]

template<>
MoFEMErrorCode MoFEM::PipelineManager::setBoundaryRhsIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline

Definition at line 1083 of file PipelineManager.hpp.

1084 {
1086 switch (cOre.getInterface<Simple>()->getDim()) {
1087 case 1:
1088 MoFEMFunctionReturnHot(setBoundaryRhsIntegrationRule<1>(rule));
1089 case 2:
1090 MoFEMFunctionReturnHot(setBoundaryRhsIntegrationRule<2>(rule));
1091 case 3:
1092 MoFEMFunctionReturnHot(setBoundaryRhsIntegrationRule<3>(rule));
1093 default:
1094 THROW_MESSAGE("Not implemented");
1095 }
1097}

◆ setBoundaryRhsIntegrationRule() [2/2]

template<int DIM>
MoFEMErrorCode MoFEM::PipelineManager::setBoundaryRhsIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline

Set integration rule for boundary right-hand side finite element.

Template Parameters
DIMDimension (-1 for automatic detection from problem)
Parameters
ruleIntegration rule hook function
Returns
MoFEMErrorCode Error code (0 on success)
Examples
mofem/atom_tests/child_and_parent.cpp, mofem/atom_tests/hanging_node_approx.cpp, mofem/tutorials/clx-0_acoustics/helmholtz.cpp, and mofem/tutorials/scl-8_heat_radiation/radiation.cpp.

Definition at line 1073 of file PipelineManager.hpp.

1074 {
1076 boost::dynamic_pointer_cast<ForcesAndSourcesCore>(
1077 createBoundaryFEPipeline<DIM>(feBoundaryRhs))
1078 ->getRuleHook = rule;
1080}

◆ setDomainExplicitRhsIntegrationRule() [1/2]

template<>
MoFEMErrorCode MoFEM::PipelineManager::setDomainExplicitRhsIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline

Definition at line 1191 of file PipelineManager.hpp.

1192 {
1194 switch (cOre.getInterface<Simple>()->getDim()) {
1195 case 1:
1196 MoFEMFunctionReturnHot(setDomainExplicitRhsIntegrationRule<1>(rule));
1197 case 2:
1198 MoFEMFunctionReturnHot(setDomainExplicitRhsIntegrationRule<2>(rule));
1199 case 3:
1200 MoFEMFunctionReturnHot(setDomainExplicitRhsIntegrationRule<3>(rule));
1201 default:
1202 THROW_MESSAGE("Not implemented");
1203 }
1205}

◆ setDomainExplicitRhsIntegrationRule() [2/2]

template<int DIM>
MoFEMErrorCode MoFEM::PipelineManager::setDomainExplicitRhsIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline

Set integration rule for domain explicit right-hand side finite element.

Template Parameters
DIMDimension (-1 for automatic detection from problem)
Parameters
ruleIntegration rule hook function
Returns
MoFEMErrorCode Error code (0 on success)

Definition at line 1181 of file PipelineManager.hpp.

1182 {
1184 boost::dynamic_pointer_cast<ForcesAndSourcesCore>(
1185 createDomainFEPipeline<DIM>(feDomainExplicitRhs))
1186 ->getRuleHook = rule;
1188}

◆ setDomainLhsIntegrationRule() [1/2]

template<>
MoFEMErrorCode MoFEM::PipelineManager::setDomainLhsIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline

Definition at line 1002 of file PipelineManager.hpp.

1003 {
1005 switch (cOre.getInterface<Simple>()->getDim()) {
1006 case 1:
1007 MoFEMFunctionReturnHot(setDomainLhsIntegrationRule<1>(rule));
1008 case 2:
1009 MoFEMFunctionReturnHot(setDomainLhsIntegrationRule<2>(rule));
1010 case 3:
1011 MoFEMFunctionReturnHot(setDomainLhsIntegrationRule<3>(rule));
1012 default:
1013 THROW_MESSAGE("Not implemented");
1014 }
1016}
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...

◆ setDomainLhsIntegrationRule() [2/2]

template<int DIM>
MoFEMErrorCode MoFEM::PipelineManager::setDomainLhsIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline

◆ setDomainRhsIntegrationRule() [1/2]

template<>
MoFEMErrorCode MoFEM::PipelineManager::setDomainRhsIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline

Definition at line 1029 of file PipelineManager.hpp.

1030 {
1032 switch (cOre.getInterface<Simple>()->getDim()) {
1033 case 1:
1034 MoFEMFunctionReturnHot(setDomainRhsIntegrationRule<1>(rule));
1035 case 2:
1036 MoFEMFunctionReturnHot(setDomainRhsIntegrationRule<2>(rule));
1037 case 3:
1038 MoFEMFunctionReturnHot(setDomainRhsIntegrationRule<3>(rule));
1039 default:
1040 THROW_MESSAGE("Not implemented");
1041 }
1043}

◆ setDomainRhsIntegrationRule() [2/2]

template<int DIM>
MoFEMErrorCode MoFEM::PipelineManager::setDomainRhsIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline

◆ setEvaluationIntegrationRule() [1/2]

template<>
MoFEMErrorCode MoFEM::PipelineManager::setEvaluationIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline

Definition at line 1110 of file PipelineManager.hpp.

1111 {
1113 switch (cOre.getInterface<Simple>()->getDim()) {
1114 case 1:
1115 MoFEMFunctionReturnHot(setEvaluationIntegrationRule<1>(rule));
1116 case 2:
1117 MoFEMFunctionReturnHot(setEvaluationIntegrationRule<2>(rule));
1118 case 3:
1119 MoFEMFunctionReturnHot(setEvaluationIntegrationRule<3>(rule));
1120 default:
1121 THROW_MESSAGE("Not implemented");
1122 }
1124}

◆ setEvaluationIntegrationRule() [2/2]

template<int DIM>
MoFEMErrorCode MoFEM::PipelineManager::setEvaluationIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline

Set integration rule for domain evaluation finite element.

Template Parameters
DIMDimension (-1 for automatic detection from problem)
Parameters
ruleIntegration rule hook function
Returns
MoFEMErrorCode Error code (0 on success)
Examples
mofem/atom_tests/higher_derivatives.cpp, and mofem/tutorials/mix-1_light_intensity_equation/phase.cpp.

Definition at line 1100 of file PipelineManager.hpp.

1101 {
1103 boost::dynamic_pointer_cast<ForcesAndSourcesCore>(
1104 createDomainFEPipeline<DIM>(feEvaluation))
1105 ->getRuleHook = rule;
1107}

◆ setSkeletonExplicitRhsIntegrationRule() [1/2]

template<>
MoFEMErrorCode MoFEM::PipelineManager::setSkeletonExplicitRhsIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline

Definition at line 1246 of file PipelineManager.hpp.

1248 {
1250 switch (cOre.getInterface<Simple>()->getDim()) {
1251 case 1:
1252 MoFEMFunctionReturnHot(setSkeletonExplicitRhsIntegrationRule<1>(rule));
1253 case 2:
1254 MoFEMFunctionReturnHot(setSkeletonExplicitRhsIntegrationRule<2>(rule));
1255 case 3:
1256 MoFEMFunctionReturnHot(setSkeletonExplicitRhsIntegrationRule<3>(rule));
1257 default:
1258 THROW_MESSAGE("Not implemented");
1259 }
1261}

◆ setSkeletonExplicitRhsIntegrationRule() [2/2]

template<int DIM>
MoFEMErrorCode MoFEM::PipelineManager::setSkeletonExplicitRhsIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline

Set integration rule for skeleton explicit right-hand side finite element.

Template Parameters
DIMDimension (-1 for automatic detection from problem)
Parameters
ruleIntegration rule hook function
Returns
MoFEMErrorCode Error code (0 on success)

Definition at line 1236 of file PipelineManager.hpp.

1237 {
1239 boost::dynamic_pointer_cast<ForcesAndSourcesCore>(
1240 createBoundaryFEPipeline<DIM>(feSkeletonExplicitRhs))
1241 ->getRuleHook = rule;
1243}

◆ setSkeletonLhsIntegrationRule() [1/2]

template<>
MoFEMErrorCode MoFEM::PipelineManager::setSkeletonLhsIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline

Definition at line 1137 of file PipelineManager.hpp.

1138 {
1140 switch (cOre.getInterface<Simple>()->getDim()) {
1141 case 1:
1142 MoFEMFunctionReturnHot(setSkeletonLhsIntegrationRule<1>(rule));
1143 case 2:
1144 MoFEMFunctionReturnHot(setSkeletonLhsIntegrationRule<2>(rule));
1145 case 3:
1146 MoFEMFunctionReturnHot(setSkeletonLhsIntegrationRule<3>(rule));
1147 default:
1148 THROW_MESSAGE("Not implemented");
1149 }
1151}

◆ setSkeletonLhsIntegrationRule() [2/2]

template<int DIM>
MoFEMErrorCode MoFEM::PipelineManager::setSkeletonLhsIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline

Set integration rule for skeleton left-hand side finite element.

Template Parameters
DIMDimension (-1 for automatic detection from problem)
Parameters
ruleIntegration rule hook function
Returns
MoFEMErrorCode Error code (0 on success)

Definition at line 1127 of file PipelineManager.hpp.

1128 {
1130 boost::dynamic_pointer_cast<ForcesAndSourcesCore>(
1131 createBoundaryFEPipeline<DIM>(feSkeletonLhs))
1132 ->getRuleHook = rule;
1134}

◆ setSkeletonRhsIntegrationRule() [1/2]

template<>
MoFEMErrorCode MoFEM::PipelineManager::setSkeletonRhsIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline

Definition at line 1164 of file PipelineManager.hpp.

1165 {
1167 switch (cOre.getInterface<Simple>()->getDim()) {
1168 case 1:
1169 MoFEMFunctionReturnHot(setSkeletonRhsIntegrationRule<1>(rule));
1170 case 2:
1171 MoFEMFunctionReturnHot(setSkeletonRhsIntegrationRule<2>(rule));
1172 case 3:
1173 MoFEMFunctionReturnHot(setSkeletonRhsIntegrationRule<3>(rule));
1174 default:
1175 THROW_MESSAGE("Not implemented");
1176 }
1178}

◆ setSkeletonRhsIntegrationRule() [2/2]

template<int DIM>
MoFEMErrorCode MoFEM::PipelineManager::setSkeletonRhsIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline

Set integration rule for skeleton right-hand side finite element.

Template Parameters
DIMDimension (-1 for automatic detection from problem)
Parameters
ruleIntegration rule hook function
Returns
MoFEMErrorCode Error code (0 on success)

Definition at line 1154 of file PipelineManager.hpp.

1155 {
1157 boost::dynamic_pointer_cast<ForcesAndSourcesCore>(
1158 createBoundaryFEPipeline<DIM>(feSkeletonRhs))
1159 ->getRuleHook = rule;
1161}

Member Data Documentation

◆ cOre

MoFEM::Core& MoFEM::PipelineManager::cOre
private

Reference to MoFEM core instance.

Definition at line 682 of file PipelineManager.hpp.

◆ feBoundaryExplicitRhs

boost::shared_ptr<FEMethod> MoFEM::PipelineManager::feBoundaryExplicitRhs
private

Element to assemble explicit Rhs for IMEX solver

Definition at line 706 of file PipelineManager.hpp.

◆ feBoundaryLhs

boost::shared_ptr<FEMethod> MoFEM::PipelineManager::feBoundaryLhs
private

Element to assemble LHS side by integrating boundary.

Definition at line 697 of file PipelineManager.hpp.

◆ feBoundaryPostProc

boost::shared_ptr<FEMethod> MoFEM::PipelineManager::feBoundaryPostProc
private

Element for postprocessing by integrating boundary.

Definition at line 693 of file PipelineManager.hpp.

◆ feBoundaryRhs

boost::shared_ptr<FEMethod> MoFEM::PipelineManager::feBoundaryRhs
private

Element to assemble RHS side by integrating boundary.

Definition at line 689 of file PipelineManager.hpp.

◆ feDomainExplicitRhs

boost::shared_ptr<FEMethod> MoFEM::PipelineManager::feDomainExplicitRhs
private

Element to assemble explicit Rhs for IMEX solver.

Definition at line 704 of file PipelineManager.hpp.

◆ feDomainLhs

boost::shared_ptr<FEMethod> MoFEM::PipelineManager::feDomainLhs
private

Element to assemble LHS side by integrating domain.

Definition at line 687 of file PipelineManager.hpp.

◆ feDomainPostProc

boost::shared_ptr<FEMethod> MoFEM::PipelineManager::feDomainPostProc
private

Element for postprocessing by integrating domain.

Definition at line 691 of file PipelineManager.hpp.

◆ feDomainRhs

boost::shared_ptr<FEMethod> MoFEM::PipelineManager::feDomainRhs
private

Element to assemble RHS side by integrating domain.

Definition at line 685 of file PipelineManager.hpp.

◆ feEvaluation

boost::shared_ptr<FEMethod> MoFEM::PipelineManager::feEvaluation
private

Element for evaluation by integrating domain.

Definition at line 695 of file PipelineManager.hpp.

◆ feMeshsetExplicitRhs

boost::shared_ptr<FEMethod> MoFEM::PipelineManager::feMeshsetExplicitRhs
private

Element to assemble explicit RHS side by integrating meshset

Definition at line 716 of file PipelineManager.hpp.

◆ feMeshsetLhs

boost::shared_ptr<FEMethod> MoFEM::PipelineManager::feMeshsetLhs
private

Element to assemble LHS side by integrating meshset

Definition at line 714 of file PipelineManager.hpp.

◆ feMeshsetRhs

boost::shared_ptr<FEMethod> MoFEM::PipelineManager::feMeshsetRhs
private

Element to assemble RHS side by integrating meshset

Definition at line 712 of file PipelineManager.hpp.

◆ feSkeletonExplicitRhs

boost::shared_ptr<FEMethod> MoFEM::PipelineManager::feSkeletonExplicitRhs
private

Element to assemble explicit Rhs for IMEX solver

Definition at line 709 of file PipelineManager.hpp.

◆ feSkeletonLhs

boost::shared_ptr<FEMethod> MoFEM::PipelineManager::feSkeletonLhs
private

Element to assemble LHS side by integrating skeleton.

Definition at line 701 of file PipelineManager.hpp.

◆ feSkeletonRhs

boost::shared_ptr<FEMethod> MoFEM::PipelineManager::feSkeletonRhs
private

Element to assemble RHS side by integrating skeleton.

Definition at line 699 of file PipelineManager.hpp.


The documentation for this struct was generated from the following files: