![]() |
v0.10.0 |
[Push operators to pipeline] More...
Public Member Functions | |
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... | |
![]() | |
MoFEMErrorCode | query_interface (const MOFEMuuid &uuid, UnknownInterface **iface) const |
FEMethod () | |
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 |
MoFEMErrorCode | getNumberOfNodes (int &num_nodes) const |
Get number of DOFs on element. More... | |
EntityHandle | getFEEntityHandle () const |
MoFEMErrorCode | getNodeData (const std::string field_name, VectorDouble &data, const bool reset_dofs=true) |
template<class MULTIINDEX > | |
MULTIINDEX::iterator | get_begin (const MULTIINDEX &index, const std::string &field_name, const EntityType type) const |
template<class MULTIINDEX > | |
MULTIINDEX::iterator | get_end (const MULTIINDEX &index, const std::string &field_name, const EntityType type) const |
template<class MULTIINDEX > | |
MULTIINDEX::iterator | get_begin (const MULTIINDEX &index, const std::string &field_name) const |
template<class MULTIINDEX > | |
MULTIINDEX::iterator | get_end (const MULTIINDEX &index, const std::string &field_name) const |
![]() | |
BasicMethod () | |
virtual | ~BasicMethod ()=default |
int | getNinTheLoop () const |
get number of evaluated element in the loop More... | |
int | getLoopSize () const |
get loop size 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... | |
![]() | |
KspMethod () | |
virtual | ~KspMethod ()=default |
MoFEMErrorCode | copyKsp (const KspMethod &ksp) |
copy data form another method More... | |
![]() | |
PetscData () | |
virtual | ~PetscData ()=default |
![]() | |
template<class IFACE > | |
MoFEMErrorCode | registerInterface (const MOFEMuuid &uuid, bool error_if_registration_failed=true) |
Register interface. More... | |
template<class IFACE , bool VERIFY = false> | |
MoFEMErrorCode | getInterface (const MOFEMuuid &uuid, IFACE *&iface) const |
Get interface by uuid and return reference to pointer of 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 |
virtual MoFEMErrorCode | getLibVersion (Version &version) const |
Get library version. More... | |
virtual const MoFEMErrorCode | getFileVersion (moab::Interface &moab, Version &version) const |
Get database major version. More... | |
virtual MoFEMErrorCode | getInterfaceVersion (Version &version) const |
Get database major version. More... | |
template<> | |
MoFEMErrorCode | getInterface (const MOFEMuuid &uuid, UnknownInterface *&iface) const |
![]() | |
SnesMethod () | |
virtual | ~SnesMethod ()=default |
MoFEMErrorCode | copySnes (const SnesMethod &snes) |
Copy snes data. More... | |
DEPRECATED MoFEMErrorCode | setSnesCtx (SNESContext ctx) |
![]() | |
TSMethod () | |
virtual | ~TSMethod ()=default |
MoFEMErrorCode | copyTs (const TSMethod &ts) |
Copy TS solver data. More... | |
DEPRECATED MoFEMErrorCode | setTsCtx (TSContext ctx) |
Private Attributes | |
SmartPetscObj< DM > | dM |
boost::shared_ptr< PostProcEle > | postProc |
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 } |
![]() | |
std::string | feName |
Name of finite element. More... | |
boost::shared_ptr< const NumeredEntFiniteElement > | numeredEntFiniteElementPtr |
![]() | |
int | nInTheLoop |
number currently of processed method More... | |
int | loopSize |
local number oe methods to process 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 |
![]() | |
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... | |
![]() | |
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) |
![]() | |
boost::typeindex::type_index | getClassIdx (const MOFEMuuid &uid) const |
Get type name for interface Id. More... | |
MOFEMuuid | getUId (const boost::typeindex::type_index &class_idx) const |
Get interface Id for class name. More... | |
[Push operators to pipeline]
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 295 of file dynamic_elastic.cpp.
Monitor::Monitor | ( | SmartPetscObj< DM > | dm, |
boost::shared_ptr< PostProcEle > | post_proc | ||
) |
Definition at line 296 of file dynamic_elastic.cpp.
Monitor::Monitor | ( | SmartPetscObj< DM > | dm, |
boost::shared_ptr< PostProcEle > | post_proc | ||
) |
Definition at line 343 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 298 of file 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 345 of file nonlinear_dynamic_elastic.cpp.
|
private |
Definition at line 310 of file dynamic_elastic.cpp.
|
private |
Definition at line 311 of file dynamic_elastic.cpp.