v0.14.0
Public Types | Public Member Functions | Public Attributes | List of all members
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 > >
 
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 [1/2]

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

Definition at line 17 of file GenericElementInterface.hpp.

◆ BcMarkerPtr [2/2]

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

Definition at line 17 of file GenericElementInterface.hpp.

Member Enumeration Documentation

◆ TSType [1/2]

Enumerator
EX 
IM 
IM2 
IMEX 
DEFAULT 
EX 
IM 
IM2 
IMEX 
DEFAULT 
Examples
NonlinearElasticElementInterface.hpp.

Definition at line 16 of file GenericElementInterface.hpp.

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

◆ 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 MortarContactInterface, and NonlinearElasticElementInterface.

Definition at line 55 of file GenericElementInterface.hpp.

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

◆ getBitRefLevel() [2/2]

virtual BitRefLevel GenericElementInterface::getBitRefLevel ( )
inlinevirtual

Reimplemented in MortarContactInterface, and 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, MortarContactInterface, and NonlinearElasticElementInterface.

Definition at line 49 of file GenericElementInterface.hpp.

49 { return 0; };

◆ getCommandLineParameters() [2/2]

virtual MoFEMErrorCode GenericElementInterface::getCommandLineParameters ( )
inlinevirtual

Reimplemented in BasicBoundaryConditionsInterface, MortarContactInterface, 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.

40 { return mBoundaryMarker; };

◆ 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  }

◆ setGlobalBoundaryMarker() [2/2]

virtual MoFEMErrorCode GenericElementInterface::setGlobalBoundaryMarker ( BcMarkerPtr  mark)
inlinevirtual

Definition at line 34 of file GenericElementInterface.hpp.

34  {
36  mBoundaryMarker = mark;
38  }

◆ 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  }

◆ 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, MortarContactInterface, and NonlinearElasticElementInterface.

Definition at line 80 of file GenericElementInterface.hpp.

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

◆ setupSolverFunctionSNES() [2/2]

virtual MoFEMErrorCode GenericElementInterface::setupSolverFunctionSNES ( )
inlinevirtual

Reimplemented in BasicBoundaryConditionsInterface, MortarContactInterface, 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, MortarContactInterface, 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, MortarContactInterface, 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, MortarContactInterface, and NonlinearElasticElementInterface.

Definition at line 90 of file GenericElementInterface.hpp.

90 { return 0; };

◆ updateElementVariables() [2/4]

virtual MoFEMErrorCode GenericElementInterface::updateElementVariables ( )
inlinevirtual

Reimplemented in BasicBoundaryConditionsInterface, MortarContactInterface, 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 file:
MoFEMFunctionReturnHot
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:460
GenericElementInterface::IM
@ IM
Definition: GenericElementInterface.hpp:16
GenericElementInterface::EX
@ EX
Definition: GenericElementInterface.hpp:16
GenericElementInterface::DEFAULT
@ DEFAULT
Definition: GenericElementInterface.hpp:16
GenericElementInterface::IMEX
@ IMEX
Definition: GenericElementInterface.hpp:16
GenericElementInterface::IM2
@ IM2
Definition: GenericElementInterface.hpp:16
GenericElementInterface::mBoundaryMarker
BcMarkerPtr mBoundaryMarker
Definition: GenericElementInterface.hpp:20
GenericElementInterface::monitorPtr
boost::shared_ptr< MoFEM::FEMethod > monitorPtr
Definition: GenericElementInterface.hpp:24
MoFEM::Types::BitRefLevel
std::bitset< BITREFLEVEL_SIZE > BitRefLevel
Bit structure attached to each entity identifying to what mesh entity is attached.
Definition: Types.hpp:40
MoFEMFunctionBeginHot
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:453
MOFEM_NOT_IMPLEMENTED
@ MOFEM_NOT_IMPLEMENTED
Definition: definitions.h:32