v0.15.0
Loading...
Searching...
No Matches
GenericElementInterface Struct Referenceabstract

Set of functions declaring elements and setting operators for generic element interface. More...

#include "tutorials/src/GenericElementInterface.hpp"

Inheritance diagram for GenericElementInterface:
[legend]
Collaboration diagram for GenericElementInterface:
[legend]

Public Types

enum  TSType {
  EX , IM , IM2 , IMEX ,
  DEFAULT , EX , IM , IM2 ,
  IMEX , DEFAULT
}
 
enum  TSType {
  EX , IM , IM2 , IMEX ,
  DEFAULT , EX , IM , IM2 ,
  IMEX , DEFAULT
}
 
using BcMarkerPtr = boost::shared_ptr<std::vector<char unsigned>>
 

Public Member Functions

 GenericElementInterface ()
 
virtual ~GenericElementInterface ()
 
virtual MoFEMErrorCode setGlobalBoundaryMarker (BcMarkerPtr mark)
 
virtual BcMarkerPtr getGlobalBoundaryMarker ()
 
virtual MoFEMErrorCode setMonitorPtr (boost::shared_ptr< MoFEM::FEMethod > monitor_ptr)
 
virtual MoFEMErrorCode getCommandLineParameters ()
 
virtual MoFEMErrorCode addElementFields ()=0
 
virtual MoFEMErrorCode createElements ()=0
 
virtual MoFEMErrorCode addElementsToDM (SmartPetscObj< DM > dm)=0
 
virtual BitRefLevel getBitRefLevel ()
 
virtual BitRefLevel getBitRefLevelMask ()
 
virtual MoFEMErrorCode setOperators ()=0
 
virtual MoFEMErrorCode opFactoryDomainRhs (boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip)
 
virtual MoFEMErrorCode opFactoryDomainLhs (boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip)
 
virtual MoFEMErrorCode setUpdateElementVariablesOperators ()
 
virtual MoFEMErrorCode setupSolverJacobianSNES ()
 
virtual MoFEMErrorCode setupSolverFunctionSNES ()
 
virtual MoFEMErrorCode setupSolverJacobianTS (const TSType type)=0
 
virtual MoFEMErrorCode setupSolverFunctionTS (const TSType type)=0
 
virtual MoFEMErrorCode updateElementVariables ()
 
virtual MoFEMErrorCode updateElementVariables (SmartPetscObj< DM > dm, string fe_name)
 
virtual MoFEMErrorCode postProcessElement (int step)=0
 
virtual MoFEMErrorCode postProcessElement (int step, SmartPetscObj< DM > dm, string fe_name)
 
 GenericElementInterface ()
 
virtual ~GenericElementInterface ()
 
virtual MoFEMErrorCode setGlobalBoundaryMarker (BcMarkerPtr mark)
 
virtual BcMarkerPtr getGlobalBoundaryMarker ()
 
virtual MoFEMErrorCode setMonitorPtr (boost::shared_ptr< FEMethod > monitor_ptr)
 
virtual MoFEMErrorCode getCommandLineParameters ()
 
virtual MoFEMErrorCode addElementFields ()=0
 
virtual MoFEMErrorCode createElements ()=0
 
virtual MoFEMErrorCode addElementsToDM (SmartPetscObj< DM > dm)=0
 
virtual BitRefLevel getBitRefLevel ()
 
virtual BitRefLevel getBitRefLevelMask ()
 
virtual MoFEMErrorCode setOperators ()=0
 
virtual MoFEMErrorCode opFactoryDomainRhs (boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip)
 
virtual MoFEMErrorCode opFactoryDomainLhs (boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip)
 
virtual MoFEMErrorCode setUpdateElementVariablesOperators ()
 
virtual MoFEMErrorCode setupSolverJacobianSNES ()
 
virtual MoFEMErrorCode setupSolverFunctionSNES ()
 
virtual MoFEMErrorCode setupSolverJacobianTS (const TSType type)=0
 
virtual MoFEMErrorCode setupSolverFunctionTS (const TSType type)=0
 
virtual MoFEMErrorCode updateElementVariables ()
 
virtual MoFEMErrorCode updateElementVariables (SmartPetscObj< DM > dm, string fe_name)
 
virtual MoFEMErrorCode postProcessElement (int step)=0
 
virtual MoFEMErrorCode postProcessElement (int step, SmartPetscObj< DM > dm, string fe_name)
 

Public Attributes

BcMarkerPtr mBoundaryMarker
 
int atomTest
 
int restartRunStep
 
boost::shared_ptr< MoFEM::FEMethodmonitorPtr
 
boost::shared_ptr< FEMethodmonitorPtr
 

Detailed Description

Set of functions declaring elements and setting operators for generic element interface.

Examples
NonlinearElasticElementInterface.hpp.

Definition at line 13 of file GenericElementInterface.hpp.

Member Typedef Documentation

◆ BcMarkerPtr

using GenericElementInterface::BcMarkerPtr = boost::shared_ptr<std::vector<char unsigned>>

Definition at line 17 of file GenericElementInterface.hpp.

Member Enumeration Documentation

◆ TSType [1/2]

◆ TSType [2/2]

Enumerator
EX 
IM 
IM2 
IMEX 
DEFAULT 
EX 
IM 
IM2 
IMEX 
DEFAULT 

Definition at line 16 of file GenericElementInterface.hpp.

16{ EX, IM, IM2, IMEX, DEFAULT };

Constructor & Destructor Documentation

◆ GenericElementInterface() [1/2]

GenericElementInterface::GenericElementInterface ( )
inline

Definition at line 31 of file GenericElementInterface.hpp.

31{}

◆ ~GenericElementInterface() [1/2]

virtual GenericElementInterface::~GenericElementInterface ( )
inlinevirtual

Definition at line 32 of file GenericElementInterface.hpp.

32{}

◆ GenericElementInterface() [2/2]

GenericElementInterface::GenericElementInterface ( )
inline

Definition at line 31 of file GenericElementInterface.hpp.

31{}

◆ ~GenericElementInterface() [2/2]

virtual GenericElementInterface::~GenericElementInterface ( )
inlinevirtual

Definition at line 32 of file GenericElementInterface.hpp.

32{}

Member Function Documentation

◆ addElementFields() [1/2]

virtual MoFEMErrorCode GenericElementInterface::addElementFields ( )
pure virtual

◆ addElementFields() [2/2]

virtual MoFEMErrorCode GenericElementInterface::addElementFields ( )
pure virtual

◆ addElementsToDM() [1/2]

virtual MoFEMErrorCode GenericElementInterface::addElementsToDM ( SmartPetscObj< DM > dm)
pure virtual

◆ addElementsToDM() [2/2]

virtual MoFEMErrorCode GenericElementInterface::addElementsToDM ( SmartPetscObj< DM > dm)
pure virtual

◆ createElements() [1/2]

virtual MoFEMErrorCode GenericElementInterface::createElements ( )
pure virtual

◆ createElements() [2/2]

virtual MoFEMErrorCode GenericElementInterface::createElements ( )
pure virtual

◆ getBitRefLevel() [1/2]

virtual BitRefLevel GenericElementInterface::getBitRefLevel ( )
inlinevirtual

Reimplemented in NonlinearElasticElementInterface.

Definition at line 55 of file GenericElementInterface.hpp.

55{ return BitRefLevel().set(); };

◆ getBitRefLevel() [2/2]

virtual BitRefLevel GenericElementInterface::getBitRefLevel ( )
inlinevirtual

Reimplemented in NonlinearElasticElementInterface.

Definition at line 55 of file GenericElementInterface.hpp.

55{ return BitRefLevel().set(); };

◆ getBitRefLevelMask() [1/2]

virtual BitRefLevel GenericElementInterface::getBitRefLevelMask ( )
inlinevirtual

Definition at line 56 of file GenericElementInterface.hpp.

56{ return BitRefLevel().set(); };

◆ getBitRefLevelMask() [2/2]

virtual BitRefLevel GenericElementInterface::getBitRefLevelMask ( )
inlinevirtual

Definition at line 56 of file GenericElementInterface.hpp.

56{ return BitRefLevel().set(); };

◆ getCommandLineParameters() [1/2]

virtual MoFEMErrorCode GenericElementInterface::getCommandLineParameters ( )
inlinevirtual

Reimplemented in BasicBoundaryConditionsInterface, and NonlinearElasticElementInterface.

Definition at line 49 of file GenericElementInterface.hpp.

49{ return 0; };

◆ getCommandLineParameters() [2/2]

virtual MoFEMErrorCode GenericElementInterface::getCommandLineParameters ( )
inlinevirtual

Reimplemented in BasicBoundaryConditionsInterface, and NonlinearElasticElementInterface.

Definition at line 49 of file GenericElementInterface.hpp.

49{ return 0; };

◆ getGlobalBoundaryMarker() [1/2]

virtual BcMarkerPtr GenericElementInterface::getGlobalBoundaryMarker ( )
inlinevirtual

Definition at line 40 of file GenericElementInterface.hpp.

◆ getGlobalBoundaryMarker() [2/2]

virtual BcMarkerPtr GenericElementInterface::getGlobalBoundaryMarker ( )
inlinevirtual

Definition at line 40 of file GenericElementInterface.hpp.

40{ return mBoundaryMarker; };

◆ opFactoryDomainLhs() [1/2]

virtual MoFEMErrorCode GenericElementInterface::opFactoryDomainLhs ( boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > & pip)
inlinevirtual

Definition at line 65 of file GenericElementInterface.hpp.

66 {
67 return 0;
68 };

◆ opFactoryDomainLhs() [2/2]

virtual MoFEMErrorCode GenericElementInterface::opFactoryDomainLhs ( boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > & pip)
inlinevirtual

Definition at line 65 of file GenericElementInterface.hpp.

66 {
67 return 0;
68 };

◆ opFactoryDomainRhs() [1/2]

virtual MoFEMErrorCode GenericElementInterface::opFactoryDomainRhs ( boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > & pip)
inlinevirtual

Definition at line 61 of file GenericElementInterface.hpp.

62 {
63 return 0;
64 };

◆ opFactoryDomainRhs() [2/2]

virtual MoFEMErrorCode GenericElementInterface::opFactoryDomainRhs ( boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > & pip)
inlinevirtual

Definition at line 61 of file GenericElementInterface.hpp.

62 {
63 return 0;
64 };

◆ postProcessElement() [1/4]

virtual MoFEMErrorCode GenericElementInterface::postProcessElement ( int step)
pure virtual

◆ postProcessElement() [2/4]

virtual MoFEMErrorCode GenericElementInterface::postProcessElement ( int step)
pure virtual

◆ postProcessElement() [3/4]

virtual MoFEMErrorCode GenericElementInterface::postProcessElement ( int step,
SmartPetscObj< DM > dm,
string fe_name )
inlinevirtual

Definition at line 98 of file GenericElementInterface.hpp.

99 {
100 return 0;
101 };

◆ postProcessElement() [4/4]

virtual MoFEMErrorCode GenericElementInterface::postProcessElement ( int step,
SmartPetscObj< DM > dm,
string fe_name )
inlinevirtual

Definition at line 98 of file GenericElementInterface.hpp.

99 {
100 return 0;
101 };

◆ setGlobalBoundaryMarker() [1/2]

virtual MoFEMErrorCode GenericElementInterface::setGlobalBoundaryMarker ( BcMarkerPtr mark)
inlinevirtual

Definition at line 34 of file GenericElementInterface.hpp.

34 {
36 mBoundaryMarker = mark;
38 }
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...

◆ setGlobalBoundaryMarker() [2/2]

virtual MoFEMErrorCode GenericElementInterface::setGlobalBoundaryMarker ( BcMarkerPtr mark)
inlinevirtual

Definition at line 34 of file GenericElementInterface.hpp.

◆ setMonitorPtr() [1/2]

virtual MoFEMErrorCode GenericElementInterface::setMonitorPtr ( boost::shared_ptr< FEMethod > monitor_ptr)
inlinevirtual

Definition at line 42 of file GenericElementInterface.hpp.

42 {
44 monitorPtr = monitor_ptr;
46 }
boost::shared_ptr< MoFEM::FEMethod > monitorPtr

◆ setMonitorPtr() [2/2]

virtual MoFEMErrorCode GenericElementInterface::setMonitorPtr ( boost::shared_ptr< MoFEM::FEMethod > monitor_ptr)
inlinevirtual

Definition at line 42 of file GenericElementInterface.hpp.

42 {
44 monitorPtr = monitor_ptr;
46 }

◆ setOperators() [1/2]

virtual MoFEMErrorCode GenericElementInterface::setOperators ( )
pure virtual

◆ setOperators() [2/2]

virtual MoFEMErrorCode GenericElementInterface::setOperators ( )
pure virtual

◆ setUpdateElementVariablesOperators() [1/2]

virtual MoFEMErrorCode GenericElementInterface::setUpdateElementVariablesOperators ( )
inlinevirtual

Definition at line 70 of file GenericElementInterface.hpp.

70{ return 0; };

◆ setUpdateElementVariablesOperators() [2/2]

virtual MoFEMErrorCode GenericElementInterface::setUpdateElementVariablesOperators ( )
inlinevirtual

Definition at line 70 of file GenericElementInterface.hpp.

70{ return 0; };

◆ setupSolverFunctionSNES() [1/2]

virtual MoFEMErrorCode GenericElementInterface::setupSolverFunctionSNES ( )
inlinevirtual

Reimplemented in BasicBoundaryConditionsInterface, and NonlinearElasticElementInterface.

Definition at line 80 of file GenericElementInterface.hpp.

80 {
82 SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED, "SNES not implemented");
84 };
@ MOFEM_NOT_IMPLEMENTED
Definition definitions.h:32

◆ setupSolverFunctionSNES() [2/2]

virtual MoFEMErrorCode GenericElementInterface::setupSolverFunctionSNES ( )
inlinevirtual

Reimplemented in BasicBoundaryConditionsInterface, and NonlinearElasticElementInterface.

Definition at line 80 of file GenericElementInterface.hpp.

80 {
82 SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED, "SNES not implemented");
84 };

◆ setupSolverFunctionTS() [1/2]

virtual MoFEMErrorCode GenericElementInterface::setupSolverFunctionTS ( const TSType type)
pure virtual

◆ setupSolverFunctionTS() [2/2]

virtual MoFEMErrorCode GenericElementInterface::setupSolverFunctionTS ( const TSType type)
pure virtual

◆ setupSolverJacobianSNES() [1/2]

virtual MoFEMErrorCode GenericElementInterface::setupSolverJacobianSNES ( )
inlinevirtual

Reimplemented in BasicBoundaryConditionsInterface, and NonlinearElasticElementInterface.

Definition at line 74 of file GenericElementInterface.hpp.

74 {
76 SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED, "SNES not implemented");
78 };

◆ setupSolverJacobianSNES() [2/2]

virtual MoFEMErrorCode GenericElementInterface::setupSolverJacobianSNES ( )
inlinevirtual

Reimplemented in BasicBoundaryConditionsInterface, and NonlinearElasticElementInterface.

Definition at line 74 of file GenericElementInterface.hpp.

74 {
76 SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED, "SNES not implemented");
78 };

◆ setupSolverJacobianTS() [1/2]

virtual MoFEMErrorCode GenericElementInterface::setupSolverJacobianTS ( const TSType type)
pure virtual

◆ setupSolverJacobianTS() [2/2]

virtual MoFEMErrorCode GenericElementInterface::setupSolverJacobianTS ( const TSType type)
pure virtual

◆ updateElementVariables() [1/4]

virtual MoFEMErrorCode GenericElementInterface::updateElementVariables ( )
inlinevirtual

Reimplemented in BasicBoundaryConditionsInterface, and NonlinearElasticElementInterface.

Definition at line 90 of file GenericElementInterface.hpp.

90{ return 0; };

◆ updateElementVariables() [2/4]

virtual MoFEMErrorCode GenericElementInterface::updateElementVariables ( )
inlinevirtual

Reimplemented in BasicBoundaryConditionsInterface, and NonlinearElasticElementInterface.

Definition at line 90 of file GenericElementInterface.hpp.

90{ return 0; };

◆ updateElementVariables() [3/4]

virtual MoFEMErrorCode GenericElementInterface::updateElementVariables ( SmartPetscObj< DM > dm,
string fe_name )
inlinevirtual

Definition at line 91 of file GenericElementInterface.hpp.

92 {
93 return 0;
94 };

◆ updateElementVariables() [4/4]

virtual MoFEMErrorCode GenericElementInterface::updateElementVariables ( SmartPetscObj< DM > dm,
string fe_name )
inlinevirtual

Definition at line 91 of file GenericElementInterface.hpp.

92 {
93 return 0;
94 };

Member Data Documentation

◆ atomTest

int GenericElementInterface::atomTest

Definition at line 21 of file GenericElementInterface.hpp.

◆ mBoundaryMarker

BcMarkerPtr GenericElementInterface::mBoundaryMarker

◆ monitorPtr [1/2]

boost::shared_ptr<MoFEM::FEMethod> GenericElementInterface::monitorPtr

Definition at line 24 of file GenericElementInterface.hpp.

◆ monitorPtr [2/2]

boost::shared_ptr<FEMethod> GenericElementInterface::monitorPtr

Definition at line 24 of file GenericElementInterface.hpp.

◆ restartRunStep

int GenericElementInterface::restartRunStep

Definition at line 22 of file GenericElementInterface.hpp.


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