38 typedef void (*
umat_t)(Real STRESS[],
Coupling material to use Abaqus UMAT models in MOOSE.
const OptionalMaterialProperty< RankTwoTensor > & _strain_increment
void initialSetup() override
check optional material properties for consistency
std::array< Real, 3 > _aqCOORDS
An array containing the coordinates of this point.
MaterialProperty< RankTwoTensor > & _total_rotation
const MaterialProperty< Real > & _plastic_dissipation_old
const VariableValue & _temperature_old
const std::vector< const VariableValue * > _external_fields_old
const OptionalMaterialProperty< RankTwoTensor > & _rotation_increment_old
int _aqNOEL
Element number.
const MaterialProperty< Real > & _creep_dissipation_old
std::vector< Real > _aqDFGRD0
Array containing the deformation gradient at the beginning of the increment.
int _aqKINC
Increment number (_t_step).
const MaterialProperty< RankTwoTensor > & _total_strain_old
int _aqKSTEP
The step number (as per Abaqus definition) can be set by the user.
int _aqLAYER
Layer number (for composite shells and layered solids). (not supported)
void(* umat_t)(Real STRESS[], Real STATEV[], Real DDSDDE[], Real *SSE, Real *SPD, Real *SCD, Real *RPL, Real DDSDDT[], Real DRPLDE[], Real *DRPLDT, Real STRAN[], Real DSTRAN[], Real TIME[], Real *DTIME, Real *TEMP, Real *DTEMP, Real PREDEF[], Real DPRED[], char *CMNAME, int *NDI, int *NSHR, int *NTENS, int *NSTATV, Real PROPS[], int *NPROPS, Real COORDS[], Real DROT[], Real *PNEWDT, Real *CELENT, Real DFGRD0[], Real DFGRD1[], int *NOEL, unsigned int *NPT, int *LAYER, int *KSPT, int *KSTEP, int *KINC)
function type for the external UMAT function
std::vector< Real > _aqDROT
Rotation increment matrix.
std::vector< VariableName > _external_field_names
std::vector< Real > _aqDDSDDE
Jacobian matrix of the model (out)
std::vector< const MaterialProperty< Real > * > _external_properties_old
DynamicLibraryLoader _library
Real _aqCELENT
Characteristic element length, which is a typical length of a line across an element for a first-orde...
std::vector< Real > _aqDRPLDE
Variation of RPL with respect to the strain increments.
const std::vector< const VariableValue * > _external_fields
int _aqNTENS
Size of the stress or strain component array (NDI + NSHR).
const OptionalMaterialProperty< RankTwoTensor > & _rotation_increment
const bool _use_orientation
Rotation information.
std::vector< Real > _aqDFGRD1
Array containing the deformation gradient at the end of the increment.
const std::size_t _number_external_properties
const AnalysisStepUserObject * _step_user_object
User object that determines step number.
void initQpStatefulProperties() override
std::vector< Real > _aqPROPS
User-specified array of material constants associated with this user material.
unsigned int _aqNPT
Integration point number.
MaterialProperty< std::vector< Real > > & _state_var
const MaterialProperty< std::vector< Real > > & _state_var_old
std::vector< Real > _aqDDSDDT
Variation of the stress increments with respect to the temperature.
char _aqCMNAME[80]
Model name buffer.
MaterialProperty< Real > & _creep_dissipation
std::vector< Real > _aqSTRAN
An array containing the total strains at the beginning of the increment.
MaterialProperty< RankFourTensor > & _jacobian_mult
Jacobian multiplier.
const ComputeFiniteStrain::DecompMethod _decomposition_method
Method being used to compute strain and rotation increments.
const VariableValue & _temperature
std::vector< Real > _aqPREDEF
Array of interpolated values of predefined field variables at this point at the start of the incremen...
Real _aqRPL
Volumetric heat generation per unit time at the end of the increment caused by mechanical working of ...
std::vector< Real > _aqSTATEV
const bool _use_one_based_indexing
parameter to assist with the transition to 1-based indexing
const OptionalMaterialProperty< RankTwoTensor > & _Fbar
int _aqNSHR
Number of engineering shear stress components at this point.
const MaterialProperty< RankTwoTensor > & _total_rotation_old
const MaterialProperty< Real > & _elastic_strain_energy_old
std::vector< Real > _aqDSTRAN
Array of strain increments.
const std::size_t _number_external_fields
int _aqNPROPS
User-defined number of material constants associated with this user material.
Real _aqDRPLDT
Variation of the volumetric heat generation (RPL) with respect to the temperature.
Real _aqDTIME
Time increment.
Real _aqTEMP
Temperature at the start of the increment.
int _aqNSTATV
Number of solution-dependent state variables that are associated with this material type.
const MaterialProperty< RankTwoTensor > & _stress_old
void computeProperties() override
perform per-element computation/initialization
std::array< Real, 2 > _aqTIME
Value of step time at the beginning of the current increment, total time at the beginning of the curr...
void computeQpStress() override
Compute the stress and store it in the _stress material property for the current quadrature point.
std::vector< const MaterialProperty< Real > * > _external_properties
const OptionalMaterialProperty< RankTwoTensor > & _Fbar_old
int _aqNDI
Number of direct stress components at this point.
MaterialProperty< Real > & _elastic_strain_energy
Real _aqDTEMP
Increment of temperature.
MaterialProperty< Real > & _material_timestep
recommended maximum timestep for this model under the current conditions
MaterialProperty< Real > & _plastic_dissipation
const std::vector< MaterialPropertyName > _external_property_names
int _aqKSPT
Section point number within the current layer. (not supported)
std::vector< Real > _aqDPRED
Array of increments of predefined field variables.
std::vector< Real > _aqSTRESS
Stress tensor (in: old stress, out: updated stress)
Real _aqPNEWDT
Ratio of suggested new time increment to the time increment being used (out)
static InputParameters validParams()
Interface class for step user object.
User object that provides analysis steps given user input.
ComputeGeneralStressBase is the direct base class for stress calculator materials that may leverage q...
Wrapper class to facilitate loading and lifetime management of dynamic libraries and obtaining pointe...
This is a RealTensor version of a rotation matrix It is instantiated with the Euler angles,...
VariableValueTempl< false > VariableValue