v0.16.0
Loading...
Searching...
No Matches
Classes | Public Member Functions | Protected Attributes | List of all members
EshelbianPlasticity::MatPhysicalEquations Struct Reference
Inheritance diagram for EshelbianPlasticity::MatPhysicalEquations:
[legend]
Collaboration diagram for EshelbianPlasticity::MatPhysicalEquations:
[legend]

Classes

struct  OpSpatialPhysical
 
struct  OpSpatialPhysical_du_du
 
struct  OpSpatialPhysicalExternalStrain
 

Public Member Functions

 MatPhysicalEquations (boost::shared_ptr< MatOps::PhysicalEquations > mat_physical_equations_ptr)
 
MoFEMErrorCode getOptions ()
 
UserDataOperatorreturnOpJacobian (const bool eval_rhs, const bool eval_lhs, boost::shared_ptr< DataAtIntegrationPts > data_ptr, boost::shared_ptr< PhysicalEquations > physics_ptr) override
 
VolUserDataOperatorreturnOpSpatialPhysical (const std::string &field_name, boost::shared_ptr< DataAtIntegrationPts > data_ptr, const double alpha) override
 
VolUserDataOperatorreturnOpSpatialPhysical_du_du (std::string row_field, std::string col_field, boost::shared_ptr< DataAtIntegrationPts > data_ptr, const double alpha)
 
VolUserDataOperatorreturnOpSpatialPhysicalExternalStrain (const std::string &field_name, boost::shared_ptr< DataAtIntegrationPts > data_ptr, boost::shared_ptr< ExternalStrainVec > external_strain_vec_ptr, std::map< std::string, boost::shared_ptr< ScalingMethod > > smv)
 
- Public Member Functions inherited from EshelbianPlasticity::PhysicalEquations
 PhysicalEquations ()=default
 
virtual ~PhysicalEquations ()=default
 
virtual VolUserDataOperatorreturnOpTopoSpatialPhysical (const std::string &field_name, boost::shared_ptr< DataAtIntegrationPts > data_ptr, SmartPetscObj< Vec > assemble_vec, boost::shared_ptr< TopologicalData > topo_ptr, const double alpha_u, boost::shared_ptr< double > J_ptr)
 
virtual VolUserDataOperatorreturnOpCalculateEnergy (boost::shared_ptr< DataAtIntegrationPts > data_ptr, boost::shared_ptr< double > total_energy_ptr)
 
virtual VolUserDataOperatorreturnOpCalculateStretchFromStress (boost::shared_ptr< DataAtIntegrationPts > data_ptr, boost::shared_ptr< PhysicalEquations > physics_ptr, boost::shared_ptr< MatrixDouble > strain_ptr=nullptr)
 
virtual VolUserDataOperatorreturnOpCalculateStretchFromStress (boost::shared_ptr< DataAtIntegrationPts > data_ptr, boost::shared_ptr< PhysicalEquations > physics_ptr, boost::shared_ptr< MatrixDouble > strain_ptr, VectorPtr external_pressure_ptr)
 
virtual VolUserDataOperatorreturnOpCalculateExternalPressure (VectorPtr external_pressure_ptr, boost::shared_ptr< ExternalStrainVec > external_strain_vec_ptr, std::map< std::string, boost::shared_ptr< ScalingMethod > > smv)
 
virtual VolUserDataOperatorreturnOpCalculateVarStretchFromStress (boost::shared_ptr< DataAtIntegrationPts > data_ptr, boost::shared_ptr< PhysicalEquations > physics_ptr)
 

Protected Attributes

boost::shared_ptr< MatOps::PhysicalEquationsmatPhysicalEquationsPtr
 
double alphaGradU = 0
 

Detailed Description

Definition at line 14 of file EshelbianMatCore.cpp.

Constructor & Destructor Documentation

◆ MatPhysicalEquations()

EshelbianPlasticity::MatPhysicalEquations::MatPhysicalEquations ( boost::shared_ptr< MatOps::PhysicalEquations mat_physical_equations_ptr)
inline

Definition at line 16 of file EshelbianMatCore.cpp.

19 matPhysicalEquationsPtr(mat_physical_equations_ptr) {
20 CHK_THROW_MESSAGE(getOptions(), "get options failed");
21 }
#define CHK_THROW_MESSAGE(err, msg)
Check and throw MoFEM exception.
boost::shared_ptr< MatOps::PhysicalEquations > matPhysicalEquationsPtr

Member Function Documentation

◆ getOptions()

MoFEMErrorCode EshelbianPlasticity::MatPhysicalEquations::getOptions ( )
inline

Definition at line 23 of file EshelbianMatCore.cpp.

23 {
25 PetscOptionsBegin(PETSC_COMM_WORLD, "meta_", "", "none");
26 alphaGradU = 0;
27 CHKERR PetscOptionsScalar("-viscosity_alpha_grad_u", "viscosity", "",
28 alphaGradU, &alphaGradU, PETSC_NULLPTR);
29 PetscOptionsEnd();
30 MOFEM_LOG("EP", Sev::inform) << "Mat core grad alpha u = " << alphaGradU;
32 }
#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.
#define MOFEM_LOG(channel, severity)
Log.

◆ returnOpJacobian()

UserDataOperator * EshelbianPlasticity::MatPhysicalEquations::returnOpJacobian ( const bool  eval_rhs,
const bool  eval_lhs,
boost::shared_ptr< DataAtIntegrationPts data_ptr,
boost::shared_ptr< PhysicalEquations physics_ptr 
)
inlineoverridevirtual

Reimplemented from EshelbianPlasticity::PhysicalEquations.

Definition at line 35 of file EshelbianMatCore.cpp.

37 {
38 return matPhysicalEquationsPtr->createOp(matPhysicalEquationsPtr, eval_rhs,
39 eval_lhs, false);
40 }

◆ returnOpSpatialPhysical()

VolUserDataOperator * EshelbianPlasticity::MatPhysicalEquations::returnOpSpatialPhysical ( const std::string &  field_name,
boost::shared_ptr< DataAtIntegrationPts data_ptr,
const double  alpha 
)
inlineoverridevirtual

Reimplemented from EshelbianPlasticity::PhysicalEquations.

Definition at line 43 of file EshelbianMatCore.cpp.

45 {
46 return new OpSpatialPhysical(field_name, matPhysicalEquationsPtr, alpha,
48 }
constexpr auto field_name

◆ returnOpSpatialPhysical_du_du()

VolUserDataOperator * EshelbianPlasticity::MatPhysicalEquations::returnOpSpatialPhysical_du_du ( std::string  row_field,
std::string  col_field,
boost::shared_ptr< DataAtIntegrationPts data_ptr,
const double  alpha 
)
inlinevirtual

Reimplemented from EshelbianPlasticity::PhysicalEquations.

Definition at line 50 of file EshelbianMatCore.cpp.

52 {
53 return new OpSpatialPhysical_du_du(row_field, col_field,
56 }

◆ returnOpSpatialPhysicalExternalStrain()

VolUserDataOperator * EshelbianPlasticity::MatPhysicalEquations::returnOpSpatialPhysicalExternalStrain ( const std::string &  field_name,
boost::shared_ptr< DataAtIntegrationPts data_ptr,
boost::shared_ptr< ExternalStrainVec external_strain_vec_ptr,
std::map< std::string, boost::shared_ptr< ScalingMethod > >  smv 
)
inlinevirtual

Reimplemented from EshelbianPlasticity::PhysicalEquations.

Definition at line 73 of file EshelbianMatCore.cpp.

77 {
78 return new OpSpatialPhysicalExternalStrain(field_name, data_ptr,
79 external_strain_vec_ptr, smv);
80 }

Member Data Documentation

◆ alphaGradU

double EshelbianPlasticity::MatPhysicalEquations::alphaGradU = 0
protected

Definition at line 84 of file EshelbianMatCore.cpp.

◆ matPhysicalEquationsPtr

boost::shared_ptr<MatOps::PhysicalEquations> EshelbianPlasticity::MatPhysicalEquations::matPhysicalEquationsPtr
protected

Definition at line 83 of file EshelbianMatCore.cpp.


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