v0.15.5
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
EshelbianPlasticity::OpGetParameters Struct Reference
Inheritance diagram for EshelbianPlasticity::OpGetParameters:
[legend]
Collaboration diagram for EshelbianPlasticity::OpGetParameters:
[legend]

Public Member Functions

 OpGetParameters (boost::shared_ptr< double > gc_ptr, Sev severity=Sev::inform)
 
MoFEMErrorCode doWork (int row_side, EntityType row_type, EntitiesFieldData::EntData &row_data)
 

Static Public Attributes

static double strength = -1
 
static double min_kappa = 1e-12
 
static double min_stiffness = 1e-2
 
static double kappa0 = 1
 
static double beta = 1
 

Private Member Functions

MoFEMErrorCode getOptions ()
 

Private Attributes

double defaultGc = 1.0
 
boost::shared_ptr< doublegcPtr
 
Sev logSev
 

Detailed Description

Definition at line 179 of file EshelbianCohesive.cpp.

Constructor & Destructor Documentation

◆ OpGetParameters()

EshelbianPlasticity::OpGetParameters::OpGetParameters ( boost::shared_ptr< double gc_ptr,
Sev  severity = Sev::inform 
)
inline

Definition at line 180 of file EshelbianCohesive.cpp.

181 : FaceElementForcesAndSourcesCore::UserDataOperator(NOSPACE, OPSPACE),
182 gcPtr(gc_ptr), logSev(severity) {
183 CHK_THROW_MESSAGE(getOptions(), "Failed to get EshelbianCohesive options");
184 }
#define CHK_THROW_MESSAGE(err, msg)
Check and throw MoFEM exception.
@ NOSPACE
Definition definitions.h:83

Member Function Documentation

◆ doWork()

MoFEMErrorCode EshelbianPlasticity::OpGetParameters::doWork ( int  row_side,
EntityType  row_type,
EntitiesFieldData::EntData row_data 
)
inline

Definition at line 186 of file EshelbianCohesive.cpp.

187 {
189 *gcPtr = defaultGc;
191 }
#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()

◆ getOptions()

MoFEMErrorCode EshelbianPlasticity::OpGetParameters::getOptions ( )
inlineprivate

Definition at line 200 of file EshelbianCohesive.cpp.

200 {
202
203 PetscOptionsBegin(PETSC_COMM_WORLD, "interface_", "", "none");
204
205 CHKERR PetscOptionsScalar("-gc", "Griffith energy release rate", "",
206 defaultGc, &defaultGc, PETSC_NULLPTR);
207 CHKERR PetscOptionsScalar("-min_stiffness", "Minimal interface stiffness",
208 "", min_stiffness, &min_stiffness, PETSC_NULLPTR);
209 CHKERR PetscOptionsScalar("-strength", "Strength of interface", "",
210 strength, &strength, PETSC_NULLPTR);
211 CHKERR PetscOptionsScalar("-min_kappa",
212 "Minimal kappa to avoid singularity", "",
213 min_kappa, &min_kappa, PETSC_NULLPTR);
214 CHKERR PetscOptionsScalar("-kappa0", "Characteristic length kappa0", "",
215 kappa0, &kappa0, PETSC_NULLPTR);
216 CHKERR PetscOptionsScalar("-beta", "Cohesive tangential coupling", "",
217 beta, &beta, PETSC_NULLPTR);
218
219 PetscOptionsEnd();
220
221 MOFEM_LOG("EP", logSev)
222 << "Interface Griffith energy release rate Gc -interface_gc = "
223 << defaultGc;
224 MOFEM_LOG("EP", logSev)
225 << "Interface min stiffness -interface_min_stiffness = "
226 << min_stiffness;
227 MOFEM_LOG("EP", logSev)
228 << "Interface strength -interface_strength = " << strength;
229 MOFEM_LOG("EP", logSev)
230 << "Interface minimal kappa -interface_min_kappa = " << min_kappa;
231 MOFEM_LOG("EP", logSev)
232 << "Interface characteristic length kappa0 -interface_kappa0 = "
233 << kappa0;
234
235 if (strength > 0) {
236 double kappa_strength =
237 GriffithCohesiveLaw::invTau(static_cast<double>(strength), defaultGc);
238 min_kappa = std::max(min_kappa, kappa_strength);
239 MOFEM_LOG("EP", logSev)
240 << "Adjusted interface min kappa to capture strength = " << min_kappa;
241 }
242
244 }
#define CHKERR
Inline error check.
#define MOFEM_LOG(channel, severity)
Log.
static auto invTau(const T &tau, double Gf)

Member Data Documentation

◆ beta

double EshelbianPlasticity::OpGetParameters::beta = 1
inlinestatic

Definition at line 197 of file EshelbianCohesive.cpp.

◆ defaultGc

double EshelbianPlasticity::OpGetParameters::defaultGc = 1.0
private

Definition at line 246 of file EshelbianCohesive.cpp.

◆ gcPtr

boost::shared_ptr<double> EshelbianPlasticity::OpGetParameters::gcPtr
private

Definition at line 247 of file EshelbianCohesive.cpp.

◆ kappa0

double EshelbianPlasticity::OpGetParameters::kappa0 = 1
inlinestatic

Definition at line 196 of file EshelbianCohesive.cpp.

◆ logSev

Sev EshelbianPlasticity::OpGetParameters::logSev
private

Definition at line 248 of file EshelbianCohesive.cpp.

◆ min_kappa

double EshelbianPlasticity::OpGetParameters::min_kappa = 1e-12
inlinestatic

Definition at line 194 of file EshelbianCohesive.cpp.

◆ min_stiffness

double EshelbianPlasticity::OpGetParameters::min_stiffness = 1e-2
inlinestatic

Definition at line 195 of file EshelbianCohesive.cpp.

◆ strength

double EshelbianPlasticity::OpGetParameters::strength = -1
inlinestatic

Definition at line 193 of file EshelbianCohesive.cpp.


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