v0.14.0
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
 
struct  ElementsAndOpsByDim< 2 >
 
struct  ElementsAndOpsByDim< 3 >
 

Public Types

enum  TSType { EX, IM, IM2, IMEX }
 
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
 
 PipelineManager (const MoFEM::Core &core)
 
boost::shared_ptr< FEMethod > & getDomainLhsFE ()
 
boost::shared_ptr< FEMethod > & getDomainRhsFE ()
 
boost::shared_ptr< FEMethod > & getBoundaryLhsFE ()
 
boost::shared_ptr< FEMethod > & getBoundaryRhsFE ()
 
boost::shared_ptr< FEMethod > & getSkeletonLhsFE ()
 
boost::shared_ptr< FEMethod > & getSkeletonRhsFE ()
 
boost::shared_ptr< FEMethod > & getDomainExplicitRhsFE ()
 
boost::shared_ptr< FEMethod > & getBoundaryExplicitRhsFE ()
 
boost::shared_ptr< FEMethod > & getSkeletonExplicitRhsFE ()
 
template<typename T = ForcesAndSourcesCore, int DIM = -1>
auto getCastDomainLhsFE ()
 
template<typename T = ForcesAndSourcesCore, int DIM = -1>
auto getCastDomainRhsFE ()
 
template<typename T = ForcesAndSourcesCore, int DIM = -1>
auto getCastBoundaryLhsFE ()
 
template<typename T = ForcesAndSourcesCore, int DIM = -1>
auto getCastBoundaryRhsFE ()
 
template<typename T = ForcesAndSourcesCore, int DIM = -1>
auto getCastSkeletonLhsFE ()
 
template<typename T = ForcesAndSourcesCore, int DIM = -1>
auto getCastSkeletonRhsFE ()
 
template<typename T = ForcesAndSourcesCore, int DIM = -1>
auto getCastDomainExplicitRhsFE ()
 
template<typename T = ForcesAndSourcesCore, int DIM = -1>
auto getCastBoundaryExplicitRhsFE ()
 
template<typename T = ForcesAndSourcesCore, int DIM = -1>
auto getCastSkeletonExplicitRhsFE ()
 
template<int DIM = -1>
MoFEMErrorCode setDomainLhsIntegrationRule (RuleHookFun rule)
 
template<int DIM = -1>
MoFEMErrorCode setDomainRhsIntegrationRule (RuleHookFun rule)
 
template<int DIM = -1>
MoFEMErrorCode setBoundaryLhsIntegrationRule (RuleHookFun rule)
 
template<int DIM = -1>
MoFEMErrorCode setBoundaryRhsIntegrationRule (RuleHookFun rule)
 
template<int DIM = -1>
MoFEMErrorCode setSkeletonLhsIntegrationRule (RuleHookFun rule)
 
template<int DIM = -1>
MoFEMErrorCode setSkeletonRhsIntegrationRule (RuleHookFun rule)
 
template<int DIM = -1>
MoFEMErrorCode setDomainExplicitRhsIntegrationRule (RuleHookFun rule)
 
template<int DIM = -1>
MoFEMErrorCode setBoundaryExplicitRhsIntegrationRule (RuleHookFun rule)
 
template<int DIM = -1>
MoFEMErrorCode setSkeletonExplicitRhsIntegrationRule (RuleHookFun rule)
 
template<int DIM = -1>
boost::ptr_deque< UserDataOperator > & getOpDomainLhsPipeline ()
 Get the Op Domain Lhs Pipeline object. More...
 
template<int DIM = -1>
boost::ptr_deque< UserDataOperator > & getOpDomainRhsPipeline ()
 Get the Op Domain Rhs Pipeline object. More...
 
template<int DIM = -1>
boost::ptr_deque< UserDataOperator > & getOpBoundaryLhsPipeline ()
 Get the Op Boundary Lhs Pipeline object. More...
 
template<int DIM = -1>
boost::ptr_deque< UserDataOperator > & getOpBoundaryRhsPipeline ()
 Get the Op Boundary Rhs Pipeline object. More...
 
template<int DIM = -1>
boost::ptr_deque< UserDataOperator > & getOpSkeletonLhsPipeline ()
 Get the Op Skeleton Lhs Pipeline object. More...
 
template<int DIM = -1>
boost::ptr_deque< UserDataOperator > & getOpSkeletonRhsPipeline ()
 Get the Op Skeleton Rhs Pipeline object. More...
 
template<int DIM = -1>
boost::ptr_deque< UserDataOperator > & getOpDomainExplicitRhsPipeline ()
 Get the Op Domain Rhs Pipeline object for implicit-explicit G term. More...
 
template<int DIM = -1>
boost::ptr_deque< UserDataOperator > & getOpBoundaryExplicitRhsPipeline ()
 Get the Op Bondary Rhs Pipeline object for implicit-explicit G term. More...
 
template<int DIM = -1>
boost::ptr_deque< UserDataOperator > & getOpSkeletonExplicitRhsPipeline ()
 Get the Op Skeleton Rhs Pipeline object for implicit-explicit G term. More...
 
MoFEMErrorCode loopFiniteElements (SmartPetscObj< DM > dm=nullptr)
 Iterate finite elements. More...
 
SmartPetscObj< KSP > createKSP (SmartPetscObj< DM > dm=nullptr)
 Create KSP (linear) solver. More...
 
SmartPetscObj< SNES > createSNES (SmartPetscObj< DM > dm=nullptr)
 Create SNES (nonlinear) solver. More...
 
SmartPetscObj< TS > createTS (const TSType type, SmartPetscObj< DM > dm=nullptr)
 create TS (time) solver More...
 
SmartPetscObj< TS > createTSEX (SmartPetscObj< DM > dm=nullptr)
 Create TS (time) explit solver. More...
 
SmartPetscObj< TS > createTSIM (SmartPetscObj< DM > dm=nullptr)
 Create TS (time) implicit solver. More...
 
DEPRECATED auto createTS (SmartPetscObj< DM > dm=nullptr)
 
SmartPetscObj< TS > createTSIM2 (SmartPetscObj< DM > dm=nullptr)
 Create TS (time) solver for second order equation in time. More...
 
DEPRECATED auto createTS2 (SmartPetscObj< DM > dm=nullptr)
 
SmartPetscObj< TS > createTSIMEX (SmartPetscObj< DM > dm=nullptr)
 Create TS (time) implicit-explicit solver. More...
 
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 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 > & 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. More...
 
template<class IFACE >
MoFEMErrorCode getInterface (IFACE *&iface) const
 Get interface refernce to pointer of interface. More...
 
template<class IFACE >
MoFEMErrorCode getInterface (IFACE **const iface) const
 Get interface pointer to pointer of interface. More...
 
template<class IFACE , typename boost::enable_if< boost::is_pointer< IFACE >, int >::type = 0>
IFACE getInterface () const
 Get interface pointer to pointer of interface. More...
 
template<class IFACE , typename boost::enable_if< boost::is_reference< IFACE >, int >::type = 0>
IFACE getInterface () const
 Get reference to interface. More...
 
template<class IFACE >
IFACE * getInterface () const
 Function returning pointer to interface. More...
 
virtual ~UnknownInterface ()=default
 

Private Member Functions

template<int DIM>
boost::shared_ptr< FEMethod > & createDomainFEPipeline (boost::shared_ptr< FEMethod > &fe)
 
template<int DIM>
boost::shared_ptr< FEMethod > & createBoundaryFEPipeline (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 > & 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
 
boost::shared_ptr< FEMethodfeDomainRhs
 Element to assemble RHS side by integrating domain. More...
 
boost::shared_ptr< FEMethodfeDomainLhs
 Element to assemble LHS side by integrating domain. More...
 
boost::shared_ptr< FEMethodfeBoundaryRhs
 Element to assemble RHS side by integrating boundary. More...
 
boost::shared_ptr< FEMethodfeBoundaryLhs
 Element to assemble LHS side by integrating boundary. More...
 
boost::shared_ptr< FEMethodfeSkeletonRhs
 Element to assemble RHS side by integrating skeleton. More...
 
boost::shared_ptr< FEMethodfeSkeletonLhs
 Element to assemble LHS side by integrating skeleton. More...
 
boost::shared_ptr< FEMethodfeDomainExplicitRhs
 Element to assemble explict Rhs for IMEX solver. More...
 
boost::shared_ptr< FEMethodfeBoundaryExplicitRhs
 
boost::shared_ptr< FEMethodfeSkeletonExplicitRhs
 

Additional Inherited Members

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

Detailed Description

PipelineManager interface.

Examples
adolc_plasticity.cpp, approx_sphere.cpp, child_and_parent.cpp, dg_projection.cpp, dynamic_first_order_con_law.cpp, eigen_elastic.cpp, free_surface.cpp, hanging_node_approx.cpp, hcurl_check_approx_in_2d.cpp, hcurl_curl_operator.cpp, hdiv_divergence_operator.cpp, heat_equation.cpp, heat_method.cpp, hello_world.cpp, helmholtz.cpp, higher_derivatives.cpp, level_set.cpp, mixed_poisson.cpp, nonlinear_elastic.cpp, operators_tests.cpp, phase.cpp, photon_diffusion.cpp, plastic.cpp, plate.cpp, plot_base.cpp, poisson_2d_dis_galerkin.cpp, poisson_2d_homogeneous.cpp, scalar_check_approximation.cpp, seepage.cpp, shallow_wave.cpp, simple_l2_only.cpp, tensor_divergence_operator.cpp, thermo_elastic.cpp, and wave_equation.cpp.

Definition at line 24 of file PipelineManager.hpp.

Member Typedef Documentation

◆ EdgeEle

◆ FaceEle

◆ RuleHookFun

Definition at line 32 of file PipelineManager.hpp.

◆ UserDataOperator

Definition at line 31 of file PipelineManager.hpp.

◆ VolEle

Examples
plastic.cpp.

Definition at line 34 of file PipelineManager.hpp.

Member Enumeration Documentation

◆ TSType

Enumerator
EX 
IM 
IM2 
IMEX 

Definition at line 227 of file PipelineManager.hpp.

227 { EX, IM, IM2, IMEX };

Constructor & Destructor Documentation

◆ PipelineManager()

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

Definition at line 16 of file PipelineManager.cpp.

17  : cOre(const_cast<Core &>(core)) {}

Member Function Documentation

◆ createBoundaryFEPipeline() [1/5]

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

Definition at line 371 of file PipelineManager.hpp.

371  {
372  static_assert(DIM == 1 || DIM == 2 || DIM == 3, "not implemented");
373  fe = boost::make_shared<FEMethod>();
374  return fe;
375 }

◆ createBoundaryFEPipeline() [2/5]

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

Definition at line 379 of file PipelineManager.hpp.

379  {
380  if (!fe)
381  fe = boost::make_shared<FaceElementForcesAndSourcesCore>(cOre);
382  return fe;
383 }

◆ createBoundaryFEPipeline() [3/5]

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

Definition at line 387 of file PipelineManager.hpp.

387  {
388  if (!fe)
389  fe = boost::make_shared<EdgeEle>(cOre);
390  return fe;
391 }

◆ createBoundaryFEPipeline() [4/5]

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

Definition at line 395 of file PipelineManager.hpp.

395  {
396  if (!fe)
397  fe = boost::make_shared<VertexElementForcesAndSourcesCore>(cOre);
398  return fe;
399 }

◆ createBoundaryFEPipeline() [5/5]

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

Definition at line 439 of file PipelineManager.hpp.

439  {
440  switch (cOre.getInterface<Simple>()->getDim()) {
441  case 1:
442  return createBoundaryFEPipeline<1>(fe);
443  case 2:
444  return createBoundaryFEPipeline<2>(fe);
445  case 3:
446  return createBoundaryFEPipeline<3>(fe);
447  default:
448  THROW_MESSAGE("Not implemented");
449  }
450 }

◆ createDomainFEPipeline() [1/5]

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

Definition at line 324 of file PipelineManager.hpp.

324  {
325  static_assert(DIM == 1 || DIM == 2 || DIM == 3, "not implemented");
326  fe = boost::make_shared<FEMethod>();
327  return fe;
328 }

◆ createDomainFEPipeline() [2/5]

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

Definition at line 340 of file PipelineManager.hpp.

340  {
341  if (!fe)
342  fe = boost::make_shared<FaceEle>(cOre);
343  return fe;
344 }

◆ createDomainFEPipeline() [3/5]

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

Definition at line 356 of file PipelineManager.hpp.

356  {
357  switch (cOre.getInterface<Simple>()->getDim()) {
358  case 1:
359  return createDomainFEPipeline<1>(fe);
360  case 2:
361  return createDomainFEPipeline<2>(fe);
362  case 3:
363  return createDomainFEPipeline<3>(fe);
364  default:
365  THROW_MESSAGE("Not implemented");
366  }
367 }

◆ createDomainFEPipeline() [4/5]

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

Definition at line 332 of file PipelineManager.hpp.

332  {
333  if (!fe)
334  fe = boost::make_shared<VolEle>(cOre);
335  return fe;
336 }

◆ createDomainFEPipeline() [5/5]

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

Definition at line 348 of file PipelineManager.hpp.

348  {
349  if (!fe)
350  fe = boost::make_shared<EdgeEle>(cOre);
351  return fe;
352 }

◆ createTS() [1/2]

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

create TS (time) solver

Parameters
typeType of time solver PipelineManager:EX/IM/IM2/IMEX
dm
Returns
SmartPetscObj<TS>

Definition at line 169 of file PipelineManager.cpp.

170  {
171  switch (type) {
172  case EX:
173  return createTSEX(dm);
174  break;
175  case IM:
176  return createTSIM(dm);
177  break;
178  case IM2:
179  return createTSIM2(dm);
180  break;
181  case IMEX:
182  return createTSIMEX(dm);
183  break;
184  default:
186  "TS solver handling not implemented");
187  break;
188  }
189  return SmartPetscObj<TS>();
190 }

◆ createTS() [2/2]

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

Definition at line 259 of file PipelineManager.hpp.

259  {
260  return createTSIM(dm);
261  }

◆ createTS2()

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

Definition at line 275 of file PipelineManager.hpp.

275  {
276  return createTSIM2(dm);
277  }

◆ getBoundaryExplicitRhsFE()

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

Definition at line 429 of file PipelineManager.hpp.

429  {
430  return feBoundaryExplicitRhs;
431 }

◆ getBoundaryLhsFE()

boost::shared_ptr< FEMethod > & MoFEM::PipelineManager::getBoundaryLhsFE ( )
inline
Examples
helmholtz.cpp.

Definition at line 409 of file PipelineManager.hpp.

409  {
410  return feBoundaryLhs;
411 }

◆ getBoundaryRhsFE()

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

◆ getCastBoundaryExplicitRhsFE()

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

Definition at line 491 of file PipelineManager.hpp.

491  {
492  return boost::dynamic_pointer_cast<T>(
493  createBoundaryFEPipeline<DIM>(feBoundaryExplicitRhs));
494 }

◆ getCastBoundaryLhsFE()

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

Definition at line 462 of file PipelineManager.hpp.

462  {
463  return boost::dynamic_pointer_cast<T>(
464  createBoundaryFEPipeline<DIM>(feBoundaryLhs));
465 }

◆ getCastBoundaryRhsFE()

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

Definition at line 468 of file PipelineManager.hpp.

468  {
469  return boost::dynamic_pointer_cast<T>(
470  createBoundaryFEPipeline<DIM>(feBoundaryRhs));
471 }

◆ getCastDomainExplicitRhsFE()

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

Definition at line 485 of file PipelineManager.hpp.

485  {
486  return boost::dynamic_pointer_cast<T>(
487  createDomainFEPipeline<DIM>(feDomainExplicitRhs));
488 }

◆ getCastDomainLhsFE()

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

Definition at line 452 of file PipelineManager.hpp.

452  {
453  return boost::dynamic_pointer_cast<T>(
454  createDomainFEPipeline<DIM>(feDomainLhs));
455 }

◆ getCastDomainRhsFE()

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

Definition at line 457 of file PipelineManager.hpp.

457  {
458  return boost::dynamic_pointer_cast<T>(
459  createDomainFEPipeline<DIM>(feDomainRhs));
460 }

◆ getCastSkeletonExplicitRhsFE()

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

Definition at line 497 of file PipelineManager.hpp.

497  {
498  return boost::dynamic_pointer_cast<T>(
499  createBoundaryFEPipeline<DIM>(feSkeletonExplicitRhs));
500 }

◆ getCastSkeletonLhsFE()

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

Definition at line 474 of file PipelineManager.hpp.

474  {
475  return boost::dynamic_pointer_cast<T>(
476  createBoundaryFEPipeline<DIM>(feSkeletonLhs));
477 }

◆ getCastSkeletonRhsFE()

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

Definition at line 479 of file PipelineManager.hpp.

479  {
480  return boost::dynamic_pointer_cast<T>(
481  createBoundaryFEPipeline<DIM>(feSkeletonRhs));
482 }

◆ getDomainExplicitRhsFE()

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

Definition at line 425 of file PipelineManager.hpp.

425  {
426  return feDomainExplicitRhs;
427 }

◆ getDomainLhsFE()

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

◆ getDomainRhsFE()

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

◆ getOpBoundaryExplicitRhsPipeline()

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

Definition at line 925 of file PipelineManager.hpp.

925  {
926  switch (cOre.getInterface<Simple>()->getDim()) {
927  case 1:
928  return getOpBoundaryExplicitRhsPipeline<1>();
929  case 2:
930  return getOpBoundaryExplicitRhsPipeline<2>();
931  case 3:
932  break;
933  default:
934  THROW_MESSAGE("Not implemented");
935  }
936  return getOpBoundaryExplicitRhsPipeline<3>();
937 }

◆ getOpBoundaryLhsPipeline()

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

Definition at line 805 of file PipelineManager.hpp.

805  {
806  switch (cOre.getInterface<Simple>()->getDim()) {
807  case 1:
808  return getOpBoundaryLhsPipeline<1>();
809  case 2:
810  return getOpBoundaryLhsPipeline<2>();
811  case 3:
812  break;
813  default:
814  THROW_MESSAGE("Not implemented");
815  }
816  return getOpBoundaryLhsPipeline<3>();
817 }

◆ getOpBoundaryRhsPipeline()

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

Definition at line 829 of file PipelineManager.hpp.

829  {
830  switch (cOre.getInterface<Simple>()->getDim()) {
831  case 1:
832  return getOpBoundaryRhsPipeline<1>();
833  case 2:
834  return getOpBoundaryRhsPipeline<2>();
835  case 3:
836  break;
837  default:
838  THROW_MESSAGE("Not implemented");
839  }
840  return getOpBoundaryRhsPipeline<3>();
841 }

◆ getOpDomainExplicitRhsPipeline()

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

Definition at line 901 of file PipelineManager.hpp.

901  {
902  switch (cOre.getInterface<Simple>()->getDim()) {
903  case 1:
904  return getOpDomainExplicitRhsPipeline<1>();
905  case 2:
906  return getOpDomainExplicitRhsPipeline<2>();
907  case 3:
908  break;
909  default:
910  THROW_MESSAGE("Not implemented");
911  }
912  return getOpDomainExplicitRhsPipeline<3>();
913 }

◆ getOpDomainLhsPipeline()

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

Definition at line 757 of file PipelineManager.hpp.

757  {
758  switch (cOre.getInterface<Simple>()->getDim()) {
759  case 1:
760  return getOpDomainLhsPipeline<1>();
761  case 2:
762  return getOpDomainLhsPipeline<2>();
763  case 3:
764  break;
765  default:
766  THROW_MESSAGE("Not implemented");
767  }
768  return getOpDomainLhsPipeline<3>();
769 }

◆ getOpDomainRhsPipeline()

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

Definition at line 781 of file PipelineManager.hpp.

781  {
782  switch (cOre.getInterface<Simple>()->getDim()) {
783  case 1:
784  return getOpDomainRhsPipeline<1>();
785  case 2:
786  return getOpDomainRhsPipeline<2>();
787  case 3:
788  break;
789  default:
790  THROW_MESSAGE("Not implemented");
791  }
792  return getOpDomainRhsPipeline<3>();
793 }

◆ getOpSkeletonExplicitRhsPipeline()

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

Definition at line 949 of file PipelineManager.hpp.

949  {
950  switch (cOre.getInterface<Simple>()->getDim()) {
951  case 1:
952  return getOpSkeletonExplicitRhsPipeline<1>();
953  case 2:
954  return getOpSkeletonExplicitRhsPipeline<2>();
955  case 3:
956  break;
957  default:
958  THROW_MESSAGE("Not implemented");
959  }
960  return getOpSkeletonExplicitRhsPipeline<3>();
961 }

◆ getOpSkeletonLhsPipeline()

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

Definition at line 853 of file PipelineManager.hpp.

853  {
854  switch (cOre.getInterface<Simple>()->getDim()) {
855  case 1:
856  return getOpSkeletonLhsPipeline<1>();
857  case 2:
858  return getOpSkeletonLhsPipeline<2>();
859  case 3:
860  break;
861  default:
862  THROW_MESSAGE("Not implemented");
863  }
864  return getOpSkeletonLhsPipeline<3>();
865 }

◆ getOpSkeletonRhsPipeline()

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

Definition at line 877 of file PipelineManager.hpp.

877  {
878  switch (cOre.getInterface<Simple>()->getDim()) {
879  case 1:
880  return getOpSkeletonRhsPipeline<1>();
881  case 2:
882  return getOpSkeletonRhsPipeline<2>();
883  case 3:
884  break;
885  default:
886  THROW_MESSAGE("Not implemented");
887  }
888  return getOpSkeletonRhsPipeline<3>();
889 }

◆ getSkeletonExplicitRhsFE()

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

Definition at line 433 of file PipelineManager.hpp.

433  {
434  return feSkeletonExplicitRhs;
435 }

◆ getSkeletonLhsFE()

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

Definition at line 417 of file PipelineManager.hpp.

417  {
418  return feSkeletonLhs;
419 }

◆ getSkeletonRhsFE()

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

Definition at line 421 of file PipelineManager.hpp.

421  {
422  return feSkeletonRhs;
423 }

◆ query_interface()

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

Implements MoFEM::UnknownInterface.

Definition at line 10 of file PipelineManager.cpp.

11  {
12  *iface = const_cast<PipelineManager *>(this);
13  return 0;
14 }

◆ setBoundaryExplicitRhsIntegrationRule() [1/2]

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

Definition at line 703 of file PipelineManager.hpp.

704  {
706  switch (cOre.getInterface<Simple>()->getDim()) {
707  case 1:
708  return setBoundaryExplicitRhsIntegrationRule<1>(rule);
709  case 2:
710  return setBoundaryExplicitRhsIntegrationRule<2>(rule);
711  case 3:
712  return setBoundaryExplicitRhsIntegrationRule<3>(rule);
713  default:
714  THROW_MESSAGE("Not implemented");
715  }
717 }

◆ setBoundaryExplicitRhsIntegrationRule() [2/2]

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

Definition at line 692 of file PipelineManager.hpp.

693  {
695  boost::dynamic_pointer_cast<ForcesAndSourcesCore>(
696  createBoundaryFEPipeline<DIM>(feBoundaryExplicitRhs))
697  ->getRuleHook = rule;
699 }

◆ setBoundaryLhsIntegrationRule() [1/2]

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

Definition at line 567 of file PipelineManager.hpp.

568  {
570  switch (cOre.getInterface<Simple>()->getDim()) {
571  case 1:
572  return setBoundaryLhsIntegrationRule<1>(rule);
573  case 2:
574  return setBoundaryLhsIntegrationRule<2>(rule);
575  case 3:
576  return setBoundaryLhsIntegrationRule<3>(rule);
577  default:
578  THROW_MESSAGE("Not implemented");
579  }
581 }

◆ setBoundaryLhsIntegrationRule() [2/2]

template<int DIM>
MoFEMErrorCode MoFEM::PipelineManager::setBoundaryLhsIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline
Examples
helmholtz.cpp.

Definition at line 557 of file PipelineManager.hpp.

558  {
560  boost::dynamic_pointer_cast<ForcesAndSourcesCore>(
561  createBoundaryFEPipeline<DIM>(feBoundaryLhs))
562  ->getRuleHook = rule;
564 }

◆ setBoundaryRhsIntegrationRule() [1/2]

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

Definition at line 594 of file PipelineManager.hpp.

595  {
597  switch (cOre.getInterface<Simple>()->getDim()) {
598  case 1:
599  return setBoundaryRhsIntegrationRule<1>(rule);
600  case 2:
601  return setBoundaryRhsIntegrationRule<2>(rule);
602  case 3:
603  return setBoundaryRhsIntegrationRule<3>(rule);
604  default:
605  THROW_MESSAGE("Not implemented");
606  }
608 }

◆ setBoundaryRhsIntegrationRule() [2/2]

template<int DIM>
MoFEMErrorCode MoFEM::PipelineManager::setBoundaryRhsIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline
Examples
child_and_parent.cpp, hanging_node_approx.cpp, and helmholtz.cpp.

Definition at line 584 of file PipelineManager.hpp.

585  {
587  boost::dynamic_pointer_cast<ForcesAndSourcesCore>(
588  createBoundaryFEPipeline<DIM>(feBoundaryRhs))
589  ->getRuleHook = rule;
591 }

◆ setDomainExplicitRhsIntegrationRule() [1/2]

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

Definition at line 675 of file PipelineManager.hpp.

676  {
678  switch (cOre.getInterface<Simple>()->getDim()) {
679  case 1:
680  return setDomainExplicitRhsIntegrationRule<1>(rule);
681  case 2:
682  return setDomainExplicitRhsIntegrationRule<2>(rule);
683  case 3:
684  return setDomainExplicitRhsIntegrationRule<3>(rule);
685  default:
686  THROW_MESSAGE("Not implemented");
687  }
689 }

◆ setDomainExplicitRhsIntegrationRule() [2/2]

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

Definition at line 665 of file PipelineManager.hpp.

666  {
668  boost::dynamic_pointer_cast<ForcesAndSourcesCore>(
669  createDomainFEPipeline<DIM>(feDomainExplicitRhs))
670  ->getRuleHook = rule;
672 }

◆ setDomainLhsIntegrationRule() [1/2]

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

Definition at line 513 of file PipelineManager.hpp.

514  {
516  switch (cOre.getInterface<Simple>()->getDim()) {
517  case 1:
518  return setDomainLhsIntegrationRule<1>(rule);
519  case 2:
520  return setDomainLhsIntegrationRule<2>(rule);
521  case 3:
522  return setDomainLhsIntegrationRule<3>(rule);
523  default:
524  THROW_MESSAGE("Not implemented");
525  }
527 }

◆ setDomainLhsIntegrationRule() [2/2]

template<int DIM>
MoFEMErrorCode MoFEM::PipelineManager::setDomainLhsIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline
Examples
approx_sphere.cpp, child_and_parent.cpp, dg_projection.cpp, hanging_node_approx.cpp, heat_method.cpp, helmholtz.cpp, higher_derivatives.cpp, and mixed_poisson.cpp.

Definition at line 503 of file PipelineManager.hpp.

504  {
506  boost::dynamic_pointer_cast<ForcesAndSourcesCore>(
507  createDomainFEPipeline<DIM>(feDomainLhs))
508  ->getRuleHook = rule;
510 }

◆ setDomainRhsIntegrationRule() [1/2]

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

Definition at line 540 of file PipelineManager.hpp.

541  {
543  switch (cOre.getInterface<Simple>()->getDim()) {
544  case 1:
545  return setDomainRhsIntegrationRule<1>(rule);
546  case 2:
547  return setDomainRhsIntegrationRule<2>(rule);
548  case 3:
549  return setDomainRhsIntegrationRule<3>(rule);
550  default:
551  THROW_MESSAGE("Not implemented");
552  }
554 }

◆ setDomainRhsIntegrationRule() [2/2]

template<int DIM>
MoFEMErrorCode MoFEM::PipelineManager::setDomainRhsIntegrationRule ( PipelineManager::RuleHookFun  rule)
inline
Examples
approx_sphere.cpp, child_and_parent.cpp, dg_projection.cpp, hanging_node_approx.cpp, heat_method.cpp, higher_derivatives.cpp, and mixed_poisson.cpp.

Definition at line 530 of file PipelineManager.hpp.

531  {
533  boost::dynamic_pointer_cast<ForcesAndSourcesCore>(
534  createDomainFEPipeline<DIM>(feDomainRhs))
535  ->getRuleHook = rule;
537 }

◆ setSkeletonExplicitRhsIntegrationRule() [1/2]

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

Definition at line 731 of file PipelineManager.hpp.

732  {
734  switch (cOre.getInterface<Simple>()->getDim()) {
735  case 1:
736  return setSkeletonExplicitRhsIntegrationRule<1>(rule);
737  case 2:
738  return setSkeletonExplicitRhsIntegrationRule<2>(rule);
739  case 3:
740  return setSkeletonExplicitRhsIntegrationRule<3>(rule);
741  default:
742  THROW_MESSAGE("Not implemented");
743  }
745 }

◆ setSkeletonExplicitRhsIntegrationRule() [2/2]

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

Definition at line 720 of file PipelineManager.hpp.

721  {
723  boost::dynamic_pointer_cast<ForcesAndSourcesCore>(
724  createBoundaryFEPipeline<DIM>(feSkeletonExplicitRhs))
725  ->getRuleHook = rule;
727 }

◆ setSkeletonLhsIntegrationRule() [1/2]

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

Definition at line 621 of file PipelineManager.hpp.

622  {
624  switch (cOre.getInterface<Simple>()->getDim()) {
625  case 1:
626  return setSkeletonLhsIntegrationRule<1>(rule);
627  case 2:
628  return setSkeletonLhsIntegrationRule<2>(rule);
629  case 3:
630  return setSkeletonLhsIntegrationRule<3>(rule);
631  default:
632  THROW_MESSAGE("Not implemented");
633  }
635 }

◆ setSkeletonLhsIntegrationRule() [2/2]

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

Definition at line 611 of file PipelineManager.hpp.

612  {
614  boost::dynamic_pointer_cast<ForcesAndSourcesCore>(
615  createBoundaryFEPipeline<DIM>(feSkeletonLhs))
616  ->getRuleHook = rule;
618 }

◆ setSkeletonRhsIntegrationRule() [1/2]

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

Definition at line 648 of file PipelineManager.hpp.

649  {
651  switch (cOre.getInterface<Simple>()->getDim()) {
652  case 1:
653  return setSkeletonRhsIntegrationRule<1>(rule);
654  case 2:
655  return setSkeletonRhsIntegrationRule<2>(rule);
656  case 3:
657  return setSkeletonRhsIntegrationRule<3>(rule);
658  default:
659  THROW_MESSAGE("Not implemented");
660  }
662 }

◆ setSkeletonRhsIntegrationRule() [2/2]

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

Definition at line 638 of file PipelineManager.hpp.

639  {
641  boost::dynamic_pointer_cast<ForcesAndSourcesCore>(
642  createBoundaryFEPipeline<DIM>(feSkeletonRhs))
643  ->getRuleHook = rule;
645 }

Member Data Documentation

◆ cOre

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

Definition at line 289 of file PipelineManager.hpp.

◆ feBoundaryExplicitRhs

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

Element to assemble explict Rhs for IMEX solver

Definition at line 307 of file PipelineManager.hpp.

◆ feBoundaryLhs

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

Element to assemble LHS side by integrating boundary.

Definition at line 298 of file PipelineManager.hpp.

◆ feBoundaryRhs

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

Element to assemble RHS side by integrating boundary.

Definition at line 296 of file PipelineManager.hpp.

◆ feDomainExplicitRhs

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

Element to assemble explict Rhs for IMEX solver.

Definition at line 305 of file PipelineManager.hpp.

◆ feDomainLhs

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

Element to assemble LHS side by integrating domain.

Definition at line 294 of file PipelineManager.hpp.

◆ feDomainRhs

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

Element to assemble RHS side by integrating domain.

Definition at line 292 of file PipelineManager.hpp.

◆ feSkeletonExplicitRhs

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

Element to assemble explict Rhs for IMEX solver

Definition at line 310 of file PipelineManager.hpp.

◆ feSkeletonLhs

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

Element to assemble LHS side by integrating skeleton.

Definition at line 302 of file PipelineManager.hpp.

◆ feSkeletonRhs

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

Element to assemble RHS side by integrating skeleton.

Definition at line 300 of file PipelineManager.hpp.


The documentation for this struct was generated from the following files:
MoFEM::UnknownInterface::getInterface
MoFEMErrorCode getInterface(IFACE *&iface) const
Get interface refernce to pointer of interface.
Definition: UnknownInterface.hpp:93
MoFEM::PipelineManager::EX
@ EX
Definition: PipelineManager.hpp:227
CHK_THROW_MESSAGE
#define CHK_THROW_MESSAGE(err, msg)
Check and throw MoFEM exception.
Definition: definitions.h:596
MoFEM::PipelineManager::feBoundaryRhs
boost::shared_ptr< FEMethod > feBoundaryRhs
Element to assemble RHS side by integrating boundary.
Definition: PipelineManager.hpp:296
MoFEM::PipelineManager::feDomainLhs
boost::shared_ptr< FEMethod > feDomainLhs
Element to assemble LHS side by integrating domain.
Definition: PipelineManager.hpp:294
MoFEM::PipelineManager::createTSIM
SmartPetscObj< TS > createTSIM(SmartPetscObj< DM > dm=nullptr)
Create TS (time) implicit solver.
Definition: PipelineManager.cpp:244
THROW_MESSAGE
#define THROW_MESSAGE(msg)
Throw MoFEM exception.
Definition: definitions.h:561
MoFEM::PipelineManager::feBoundaryLhs
boost::shared_ptr< FEMethod > feBoundaryLhs
Element to assemble LHS side by integrating boundary.
Definition: PipelineManager.hpp:298
MoFEM::PipelineManager::feDomainRhs
boost::shared_ptr< FEMethod > feDomainRhs
Element to assemble RHS side by integrating domain.
Definition: PipelineManager.hpp:292
MoFEM::PipelineManager::cOre
MoFEM::Core & cOre
Definition: PipelineManager.hpp:289
MoFEM::PipelineManager::IM
@ IM
Definition: PipelineManager.hpp:227
convert.type
type
Definition: convert.py:64
MoFEM::PipelineManager::feBoundaryExplicitRhs
boost::shared_ptr< FEMethod > feBoundaryExplicitRhs
Definition: PipelineManager.hpp:307
MoFEM::PipelineManager::PipelineManager
PipelineManager(const MoFEM::Core &core)
Definition: PipelineManager.cpp:16
MoFEM::PipelineManager::feSkeletonLhs
boost::shared_ptr< FEMethod > feSkeletonLhs
Element to assemble LHS side by integrating skeleton.
Definition: PipelineManager.hpp:302
MoFEM::PipelineManager::createTSEX
SmartPetscObj< TS > createTSEX(SmartPetscObj< DM > dm=nullptr)
Create TS (time) explit solver.
Definition: PipelineManager.cpp:192
MoFEM::Core
CoreTmp< 0 > Core
Definition: Core.hpp:1094
MoFEM::PipelineManager::createTSIMEX
SmartPetscObj< TS > createTSIMEX(SmartPetscObj< DM > dm=nullptr)
Create TS (time) implicit-explicit solver.
Definition: PipelineManager.cpp:366
MoFEM::PipelineManager::feDomainExplicitRhs
boost::shared_ptr< FEMethod > feDomainExplicitRhs
Element to assemble explict Rhs for IMEX solver.
Definition: PipelineManager.hpp:305
MoFEM::PipelineManager::IM2
@ IM2
Definition: PipelineManager.hpp:227
MoFEM::PipelineManager::feSkeletonRhs
boost::shared_ptr< FEMethod > feSkeletonRhs
Element to assemble RHS side by integrating skeleton.
Definition: PipelineManager.hpp:300
MoFEM::PipelineManager::createTSIM2
SmartPetscObj< TS > createTSIM2(SmartPetscObj< DM > dm=nullptr)
Create TS (time) solver for second order equation in time.
Definition: PipelineManager.cpp:305
MoFEMFunctionReturn
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:416
MOFEM_NOT_IMPLEMENTED
@ MOFEM_NOT_IMPLEMENTED
Definition: definitions.h:32
MoFEMFunctionBegin
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:346
MoFEM::PipelineManager::IMEX
@ IMEX
Definition: PipelineManager.hpp:227
MoFEM::PipelineManager::feSkeletonExplicitRhs
boost::shared_ptr< FEMethod > feSkeletonExplicitRhs
Definition: PipelineManager.hpp:310