![]() |
v0.13.1 |
Public Member Functions | |
Monitor (SmartPetscObj< DM > dm, boost::shared_ptr< PostProcEle > post_proc, boost::shared_ptr< PostProcFaceOnRefinedMesh > skin_post_proc) | |
MoFEMErrorCode | preProcess () |
function is run at the beginning of loop More... | |
MoFEMErrorCode | operator() () |
function is run for every finite element More... | |
MoFEMErrorCode | postProcess () |
function is run at the end of loop More... | |
Monitor (SmartPetscObj< DM > dm, boost::shared_ptr< PostProcEle > post_proc) | |
MoFEMErrorCode | preProcess () |
function is run at the beginning of loop More... | |
MoFEMErrorCode | operator() () |
function is run for every finite element More... | |
MoFEMErrorCode | postProcess () |
function is run at the end of loop More... | |
Monitor (SmartPetscObj< DM > dm, boost::shared_ptr< PostProcEle > post_proc) | |
MoFEMErrorCode | preProcess () |
function is run at the beginning of loop More... | |
MoFEMErrorCode | operator() () |
function is run for every finite element More... | |
MoFEMErrorCode | postProcess () |
function is run at the end of loop More... | |
Monitor (SmartPetscObj< DM > dm, boost::shared_ptr< PostProcEle > post_proc) | |
MoFEMErrorCode | postProcess () |
function is run at the end of loop More... | |
Monitor (SmartPetscObj< DM > dm, boost::shared_ptr< PostProcEle > post_proc) | |
MoFEMErrorCode | postProcess () |
function is run at the end of loop More... | |
Monitor (SmartPetscObj< DM > dm, boost::shared_ptr< PostProcEle > post_proc) | |
MoFEMErrorCode | postProcess () |
function is run at the end of loop More... | |
Monitor (SmartPetscObj< DM > dm, boost::shared_ptr< PostProcEle > post_proc, boost::shared_ptr< PostProcEdgeEle > post_proc_edge, std::pair< boost::shared_ptr< BoundaryEle >, boost::shared_ptr< VectorDouble > > p) | |
MoFEMErrorCode | postProcess () |
function is run at the end of loop More... | |
![]() | |
MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const |
FEMethod ()=default | |
auto | getFEName () const |
get finite element name More... | |
auto | getDataDofsPtr () const |
auto | getDataVectorDofsPtr () const |
const FieldEntity_vector_view & | getDataFieldEnts () const |
boost::shared_ptr< FieldEntity_vector_view > & | getDataFieldEntsPtr () const |
auto & | getRowFieldEnts () const |
auto & | getRowFieldEntsPtr () const |
auto & | getColFieldEnts () const |
auto & | getColFieldEntsPtr () const |
auto | getRowDofsPtr () const |
auto | getColDofsPtr () const |
auto | getNumberOfNodes () const |
EntityHandle | getFEEntityHandle () const |
MoFEMErrorCode | getNodeData (const std::string field_name, VectorDouble &data, const bool reset_dofs=true) |
![]() | |
MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const |
BasicMethod () | |
virtual | ~BasicMethod ()=default |
int | getNinTheLoop () const |
get number of evaluated element in the loop More... | |
int | getLoopSize () const |
get loop size More... | |
auto | getLoHiFERank () const |
Get lo and hi processor rank of iterated entities. More... | |
auto | getLoFERank () const |
Get upper rank in loop for iterating elements. More... | |
auto | getHiFERank () const |
Get upper rank in loop for iterating elements. More... | |
unsigned int | getFieldBitNumber (std::string field_name) const |
MoFEMErrorCode | copyBasicMethod (const BasicMethod &basic) |
Copy data from other base method to this base method. More... | |
virtual MoFEMErrorCode | preProcess () |
function is run at the beginning of loop More... | |
virtual MoFEMErrorCode | operator() () |
function is run for every finite element More... | |
virtual MoFEMErrorCode | postProcess () |
function is run at the end of loop More... | |
boost::weak_ptr< CacheTuple > | getCacheWeakPtr () const |
Get the cache weak ptr object. More... | |
![]() | |
MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const |
KspMethod () | |
virtual | ~KspMethod ()=default |
MoFEMErrorCode | copyKsp (const KspMethod &ksp) |
copy data form another method More... | |
![]() | |
MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const |
PetscData () | |
virtual | ~PetscData ()=default |
MoFEMErrorCode | copyPetscData (const PetscData &petsc_data) |
![]() | |
virtual MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const =0 |
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 |
![]() | |
MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const |
SnesMethod () | |
virtual | ~SnesMethod ()=default |
MoFEMErrorCode | copySnes (const SnesMethod &snes) |
Copy snes data. More... | |
![]() | |
MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const |
TSMethod () | |
virtual | ~TSMethod ()=default |
MoFEMErrorCode | copyTs (const TSMethod &ts) |
Copy TS solver data. More... | |
Static Public Attributes | |
static constexpr int | saveEveryNthStep = 1 |
![]() | |
static constexpr Switches | CtxSetNone = PetscData::Switches(CTX_SET_NONE) |
static constexpr Switches | CtxSetF = PetscData::Switches(CTX_SET_F) |
static constexpr Switches | CtxSetA = PetscData::Switches(CTX_SET_A) |
static constexpr Switches | CtxSetB = PetscData::Switches(CTX_SET_B) |
static constexpr Switches | CtxSetX = PetscData::Switches(CTX_SET_X) |
static constexpr Switches | CtxSetX_T = PetscData::Switches(CTX_SET_X_T) |
static constexpr Switches | CtxSetX_TT = PetscData::Switches(CTX_SET_X_TT) |
static constexpr Switches | CtxSetTime = PetscData::Switches(CTX_SET_TIME) |
Private Attributes | |
SmartPetscObj< DM > | dM |
boost::shared_ptr< PostProcEle > | postProc |
boost::shared_ptr< PostProcFaceOnRefinedMesh > | skinPostProc |
boost::shared_ptr< PostProcEdgeEle > | postProcEdge |
boost::shared_ptr< BoundaryEle > | liftFE |
boost::shared_ptr< VectorDouble > | liftVec |
Additional Inherited Members | |
![]() | |
enum | KSPContext { CTX_SETFUNCTION , CTX_OPERATORS , CTX_KSPNONE } |
pass information about context of KSP/DM for with finite element is computed More... | |
![]() | |
enum | DataContext { CTX_SET_NONE = 0 , CTX_SET_F = 1 << 0 , CTX_SET_A = 1 << 1 , CTX_SET_B = 1 << 2 , CTX_SET_X = 1 << 3 , CTX_SET_X_T = 1 << 4 , CTX_SET_X_TT = 1 << 6 , CTX_SET_TIME = 1 << 7 } |
using | Switches = std::bitset< 8 > |
![]() | |
enum | SNESContext { CTX_SNESSETFUNCTION , CTX_SNESSETJACOBIAN , CTX_SNESNONE } |
![]() | |
enum | TSContext { CTX_TSSETRHSFUNCTION , CTX_TSSETRHSJACOBIAN , CTX_TSSETIFUNCTION , CTX_TSSETIJACOBIAN , CTX_TSTSMONITORSET , CTX_TSNONE } |
![]() | |
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... | |
![]() | |
std::string | feName |
Name of finite element. More... | |
boost::shared_ptr< const NumeredEntFiniteElement > | numeredEntFiniteElementPtr |
boost::function< bool(FEMethod *fe_method_ptr)> | exeTestHook |
Tet if element to skip element. More... | |
![]() | |
int | nInTheLoop |
number currently of processed method More... | |
int | loopSize |
local number oe methods to process More... | |
std::pair< int, int > | loHiFERank |
Llo and hi processor rank of iterated entities. More... | |
int | rAnk |
processor rank More... | |
int | sIze |
number of processors in communicator More... | |
const RefEntity_multiIndex * | refinedEntitiesPtr |
container of mofem dof entities More... | |
const RefElement_multiIndex * | refinedFiniteElementsPtr |
container of mofem finite element entities More... | |
const Problem * | problemPtr |
raw pointer to problem More... | |
const Field_multiIndex * | fieldsPtr |
raw pointer to fields container More... | |
const FieldEntity_multiIndex * | entitiesPtr |
raw pointer to container of field entities More... | |
const DofEntity_multiIndex * | dofsPtr |
raw pointer container of dofs More... | |
const FiniteElement_multiIndex * | finiteElementsPtr |
raw pointer to container finite elements More... | |
const EntFiniteElement_multiIndex * | finiteElementsEntitiesPtr |
const FieldEntityEntFiniteElementAdjacencyMap_multiIndex * | adjacenciesPtr |
boost::function< MoFEMErrorCode()> | preProcessHook |
Hook function for pre-processing. More... | |
boost::function< MoFEMErrorCode()> | postProcessHook |
Hook function for post-processing. More... | |
boost::function< MoFEMErrorCode()> | operatorHook |
Hook function for operator. More... | |
boost::movelib::unique_ptr< bool > | vecAssembleSwitch |
boost::movelib::unique_ptr< bool > | matAssembleSwitch |
boost::weak_ptr< CacheTuple > | cacheWeakPtr |
![]() | |
KSPContext | ksp_ctx |
Context. More... | |
KSP | ksp |
KSP solver. More... | |
Vec & | ksp_f |
Mat & | ksp_A |
Mat & | ksp_B |
![]() | |
Switches | data_ctx |
Vec | f |
Mat | A |
Mat | B |
Vec | x |
Vec | x_t |
Vec | x_tt |
![]() | |
SNESContext | snes_ctx |
SNES | snes |
snes solver More... | |
Vec & | snes_x |
state vector More... | |
Vec & | snes_f |
residual More... | |
Mat & | snes_A |
jacobian matrix More... | |
Mat & | snes_B |
preconditioner of jacobian matrix More... | |
![]() | |
TS | ts |
time solver More... | |
TSContext | ts_ctx |
PetscInt | ts_step |
time step More... | |
PetscReal | ts_a |
shift for U_t (see PETSc Time Solver) More... | |
PetscReal | ts_aa |
shift for U_tt shift for U_tt More... | |
PetscReal | ts_t |
time More... | |
Vec & | ts_u |
state vector More... | |
Vec & | ts_u_t |
time derivative of state vector More... | |
Vec & | ts_u_tt |
second time derivative of state vector More... | |
Vec & | ts_F |
residual vector More... | |
Mat & | ts_A |
Mat & | ts_B |
Preconditioner for ts_A. More... | |
Monitor solution.
[Push operators to pipeline]
This functions is called by TS solver at the end of each step. It is used to output results to the hard drive.
Monitor solution
This functions is called by TS solver at the end of each step. It is used to output results to the hard drive.
Definition at line 85 of file photon_diffusion.cpp.
Monitor::Monitor | ( | SmartPetscObj< DM > | dm, |
boost::shared_ptr< PostProcEle > | post_proc, | ||
boost::shared_ptr< PostProcFaceOnRefinedMesh > | skin_post_proc | ||
) |
Definition at line 87 of file photon_diffusion.cpp.
Monitor::Monitor | ( | SmartPetscObj< DM > | dm, |
boost::shared_ptr< PostProcEle > | post_proc | ||
) |
Definition at line 82 of file heat_equation.cpp.
Monitor::Monitor | ( | SmartPetscObj< DM > | dm, |
boost::shared_ptr< PostProcEle > | post_proc | ||
) |
Definition at line 77 of file wave_equation.cpp.
Monitor::Monitor | ( | SmartPetscObj< DM > | dm, |
boost::shared_ptr< PostProcEle > | post_proc | ||
) |
Definition at line 320 of file nonlinear_elastic.cpp.
Monitor::Monitor | ( | SmartPetscObj< DM > | dm, |
boost::shared_ptr< PostProcEle > | post_proc | ||
) |
Definition at line 318 of file nonlinear_dynamic_elastic.cpp.
Monitor::Monitor | ( | SmartPetscObj< DM > | dm, |
boost::shared_ptr< PostProcEle > | post_proc | ||
) |
Definition at line 722 of file shallow_wave.cpp.
Monitor::Monitor | ( | SmartPetscObj< DM > | dm, |
boost::shared_ptr< PostProcEle > | post_proc, | ||
boost::shared_ptr< PostProcEdgeEle > | post_proc_edge, | ||
std::pair< boost::shared_ptr< BoundaryEle >, boost::shared_ptr< VectorDouble > > | p | ||
) |
Definition at line 642 of file free_surface.cpp.
|
virtual |
function is run for every finite element
It is used to calculate element local matrices and assembly. It can be used for post-processing.
Reimplemented from MoFEM::BasicMethod.
Definition at line 92 of file photon_diffusion.cpp.
|
virtual |
function is run for every finite element
It is used to calculate element local matrices and assembly. It can be used for post-processing.
Reimplemented from MoFEM::BasicMethod.
Definition at line 86 of file heat_equation.cpp.
|
virtual |
function is run for every finite element
It is used to calculate element local matrices and assembly. It can be used for post-processing.
Reimplemented from MoFEM::BasicMethod.
Definition at line 81 of file wave_equation.cpp.
|
virtual |
function is run at the end of loop
It is used to assembly matrices and vectors, calculating global variables, f.e. total internal energy, ect.
Iterating over dofs: Example1 iterating over dofs in row by name of the field for(IT_GET_FEROW_BY_NAME_DOFS_FOR_LOOP(this,"DISPLACEMENT",it)) { ... }
Reimplemented from MoFEM::BasicMethod.
Definition at line 94 of file photon_diffusion.cpp.
|
virtual |
function is run at the end of loop
It is used to assembly matrices and vectors, calculating global variables, f.e. total internal energy, ect.
Iterating over dofs: Example1 iterating over dofs in row by name of the field for(IT_GET_FEROW_BY_NAME_DOFS_FOR_LOOP(this,"DISPLACEMENT",it)) { ... }
Reimplemented from MoFEM::BasicMethod.
Definition at line 90 of file heat_equation.cpp.
|
virtual |
function is run at the end of loop
It is used to assembly matrices and vectors, calculating global variables, f.e. total internal energy, ect.
Iterating over dofs: Example1 iterating over dofs in row by name of the field for(IT_GET_FEROW_BY_NAME_DOFS_FOR_LOOP(this,"DISPLACEMENT",it)) { ... }
Reimplemented from MoFEM::BasicMethod.
Definition at line 85 of file wave_equation.cpp.
|
virtual |
function is run at the end of loop
It is used to assembly matrices and vectors, calculating global variables, f.e. total internal energy, ect.
Iterating over dofs: Example1 iterating over dofs in row by name of the field for(IT_GET_FEROW_BY_NAME_DOFS_FOR_LOOP(this,"DISPLACEMENT",it)) { ... }
Reimplemented from MoFEM::BasicMethod.
Definition at line 322 of file nonlinear_elastic.cpp.
|
virtual |
function is run at the end of loop
It is used to assembly matrices and vectors, calculating global variables, f.e. total internal energy, ect.
Iterating over dofs: Example1 iterating over dofs in row by name of the field for(IT_GET_FEROW_BY_NAME_DOFS_FOR_LOOP(this,"DISPLACEMENT",it)) { ... }
Reimplemented from MoFEM::BasicMethod.
Definition at line 320 of file nonlinear_dynamic_elastic.cpp.
|
virtual |
function is run at the end of loop
It is used to assembly matrices and vectors, calculating global variables, f.e. total internal energy, ect.
Iterating over dofs: Example1 iterating over dofs in row by name of the field for(IT_GET_FEROW_BY_NAME_DOFS_FOR_LOOP(this,"DISPLACEMENT",it)) { ... }
Reimplemented from MoFEM::BasicMethod.
Definition at line 724 of file shallow_wave.cpp.
|
virtual |
function is run at the end of loop
It is used to assembly matrices and vectors, calculating global variables, f.e. total internal energy, ect.
Iterating over dofs: Example1 iterating over dofs in row by name of the field for(IT_GET_FEROW_BY_NAME_DOFS_FOR_LOOP(this,"DISPLACEMENT",it)) { ... }
Reimplemented from MoFEM::BasicMethod.
Definition at line 649 of file free_surface.cpp.
|
virtual |
function is run at the beginning of loop
It is used to zeroing matrices and vectors, calculation of shape functions on reference element, preprocessing boundary conditions, etc.
Reimplemented from MoFEM::BasicMethod.
Definition at line 91 of file photon_diffusion.cpp.
|
virtual |
function is run at the beginning of loop
It is used to zeroing matrices and vectors, calculation of shape functions on reference element, preprocessing boundary conditions, etc.
Reimplemented from MoFEM::BasicMethod.
Definition at line 85 of file heat_equation.cpp.
|
virtual |
function is run at the beginning of loop
It is used to zeroing matrices and vectors, calculation of shape functions on reference element, preprocessing boundary conditions, etc.
Reimplemented from MoFEM::BasicMethod.
Definition at line 80 of file wave_equation.cpp.
|
private |
Definition at line 112 of file photon_diffusion.cpp.
|
private |
Definition at line 686 of file free_surface.cpp.
|
private |
Definition at line 687 of file free_surface.cpp.
|
private |
Definition at line 113 of file photon_diffusion.cpp.
|
private |
Definition at line 685 of file free_surface.cpp.
|
staticconstexpr |
Definition at line 88 of file heat_equation.cpp.
|
private |
Definition at line 114 of file photon_diffusion.cpp.