v0.16.3
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
EshelbianPlasticity::TSElasticPreAndPostStep::ProjectionScope Struct Reference

#include "users_modules/eshelbian_plasticity/src/TSElasticPreAndPostStep.hpp"

Collaboration diagram for EshelbianPlasticity::TSElasticPreAndPostStep::ProjectionScope:
[legend]

Public Member Functions

 ProjectionScope (EshelbianCore *ep_ptr)
 
 ~ProjectionScope ()
 
 ProjectionScope (const ProjectionScope &)=delete
 
ProjectionScope & operator= (const ProjectionScope &)=delete
 
MoFEMErrorCode close ()
 

Private Attributes

MPI_Comm comm
 
bool active = false
 

Detailed Description

Own projection resources for one solve; also clean up on early exits.

Definition at line 17 of file TSElasticPreAndPostStep.hpp.

Constructor & Destructor Documentation

◆ ProjectionScope() [1/2]

EshelbianPlasticity::TSElasticPreAndPostStep::ProjectionScope::ProjectionScope ( EshelbianCore *  ep_ptr)
explicit

Definition at line 237 of file TSElasticPreAndPostStep.cpp.

238 : comm(ep_ptr->mField.get_comm()) {
239 // Callbacks share one active projection context, as in the existing solvers.
241 "Elastic projection is already active");
242 try {
244 "Initialise elastic spatial projection");
245 active = true;
246 } catch (...) {
247 CHKERRABORT(comm, postStepDestroy());
248 throw;
249 }
250}
#define CHK_THROW_MESSAGE(err, msg)
Check and throw MoFEM exception.
@ MOFEM_DATA_INCONSISTENCY
Definition definitions.h:31
MoFEM::Interface & mField
static MoFEMErrorCode postStepInitialise(EshelbianCore *ep_ptr)
virtual MPI_Comm & get_comm() const =0

◆ ~ProjectionScope()

EshelbianPlasticity::TSElasticPreAndPostStep::ProjectionScope::~ProjectionScope ( )

Definition at line 252 of file TSElasticPreAndPostStep.cpp.

◆ ProjectionScope() [2/2]

EshelbianPlasticity::TSElasticPreAndPostStep::ProjectionScope::ProjectionScope ( const ProjectionScope &  )
delete

Member Function Documentation

◆ close()

MoFEMErrorCode EshelbianPlasticity::TSElasticPreAndPostStep::ProjectionScope::close ( )

Definition at line 256 of file TSElasticPreAndPostStep.cpp.

256 {
258 if (active) {
260 active = false;
261 }
263}
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define CHKERR
Inline error check.

◆ operator=()

ProjectionScope & EshelbianPlasticity::TSElasticPreAndPostStep::ProjectionScope::operator= ( const ProjectionScope &  )
delete

Member Data Documentation

◆ active

bool EshelbianPlasticity::TSElasticPreAndPostStep::ProjectionScope::active = false
private

Definition at line 26 of file TSElasticPreAndPostStep.hpp.

◆ comm

MPI_Comm EshelbianPlasticity::TSElasticPreAndPostStep::ProjectionScope::comm
private

Definition at line 25 of file TSElasticPreAndPostStep.hpp.


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