https://mooseframework.inl.gov
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends | List of all members
AbaqusUserElement Class Reference

This user-object is a testbed for implementing a custom element. More...

#include <AbaqusUserElement.h>

Inheritance diagram for AbaqusUserElement:
[legend]

Public Types

typedef void(* uel_t) (Real RHS[], Real AMATRX[], Real SVARS[], Real ENERGY[], int *NDOFEL, int *NRHS, int *NSVARS, Real PROPS[], int *NPROPS, Real COORDS[], int *MCRD, int *NNODE, Real U[], Real DU[], Real V[], Real A[], int *JTYPE, Real TIME[], Real *DTIME, int *KSTEP, int *KINC, int *JELEM, Real PRAMS[], int *NDLOAD, int JDLTYP[], Real ADLMAG[], Real PREDEF[], int *NPREDF, int LFLAGS[], int *MLVARX, Real DDLMAG[], int *MDLOAD, Real *PNEWDT, int JPROPS[], int *NJPROP, Real *PERIOD)
 function type for the external UMAT function More...
 
typedef DataFileName DataFileParameterType
 
enum  ResidualTagType { ResidualTagType::NonReference, ResidualTagType::Reference }
 

Public Member Functions

 AbaqusUserElement (const InputParameters &params)
 
virtual void initialSetup () override
 
virtual void meshChanged () override
 
virtual void initialize () override final
 
virtual void execute () override
 
virtual void finalize () override final
 
const std::vector< const MooseVariableFieldBase * > & getVariables () const
 getters for the loop class More...
 
const std::vector< const MooseVariableFieldBase * > & getAuxVariables () const
 
const uel_tgetPlugin () const
 
SubProblemgetSubProblem () const
 
bool shouldDuplicateInitialExecution () const
 
virtual Real spatialValue (const Point &) const
 
virtual const std::vector< Point > spatialPoints () const
 
void gatherSum (T &value)
 
void gatherMax (T &value)
 
void gatherMin (T &value)
 
void gatherProxyValueMax (T1 &proxy, T2 &value)
 
void gatherProxyValueMin (T1 &proxy, T2 &value)
 
void setPrimaryThreadCopy (UserObject *primary)
 
UserObjectprimaryThreadCopy ()
 
std::set< UserObjectName > getDependObjects () const
 
virtual bool needThreadedCopy () const
 
const std::set< std::string > & getRequestedItems () override
 
const std::set< std::string > & getSuppliedItems () override
 
unsigned int systemNumber () const
 
virtual bool enabled () const
 
std::shared_ptr< MooseObjectgetSharedPtr ()
 
std::shared_ptr< const MooseObjectgetSharedPtr () const
 
MooseAppgetMooseApp () const
 
const std::string & type () const
 
virtual const std::string & name () const
 
std::string typeAndName () const
 
std::string errorPrefix (const std::string &error_type) const
 
void callMooseError (std::string msg, const bool with_prefix) const
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 
const InputParametersparameters () const
 
MooseObjectName uniqueName () const
 
const T & getParam (const std::string &name) const
 
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 
const T * queryParam (const std::string &name) const
 
const T & getRenamedParam (const std::string &old_name, const std::string &new_name) const
 
getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 
bool isParamValid (const std::string &name) const
 
bool isParamSetByUser (const std::string &nm) const
 
void paramError (const std::string &param, Args... args) const
 
void paramWarning (const std::string &param, Args... args) const
 
void paramInfo (const std::string &param, Args... args) const
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 
void mooseError (Args &&... args) const
 
void mooseErrorNonPrefixed (Args &&... args) const
 
void mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseInfo (Args &&... args) const
 
std::string getDataFileName (const std::string &param) const
 
std::string getDataFileNameByName (const std::string &relative_path) const
 
std::string getDataFilePath (const std::string &relative_path) const
 
virtual void timestepSetup ()
 
virtual void jacobianSetup ()
 
virtual void residualSetup ()
 
virtual void customSetup (const ExecFlagType &)
 
const ExecFlagEnumgetExecuteOnEnum () const
 
UserObjectName getUserObjectName (const std::string &param_name) const
 
const T & getUserObject (const std::string &param_name, bool is_dependency=true) const
 
const T & getUserObjectByName (const UserObjectName &object_name, bool is_dependency=true) const
 
const UserObjectgetUserObjectBase (const std::string &param_name, bool is_dependency=true) const
 
const UserObjectgetUserObjectBaseByName (const UserObjectName &object_name, bool is_dependency=true) const
 
const std::vector< MooseVariableScalar *> & getCoupledMooseScalarVars ()
 
const std::set< TagID > & getScalarVariableCoupleableVectorTags () const
 
const std::set< TagID > & getScalarVariableCoupleableMatrixTags () const
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialProperty (const std::string &name, MaterialData &material_data, const unsigned int state=0)
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialProperty (const std::string &name, const unsigned int state=0)
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialProperty (const std::string &name, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialProperty (const std::string &name, MaterialData &material_data, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialProperty (const std::string &name, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialProperty (const std::string &name, const unsigned int state=0)
 
const ADMaterialProperty< T > & getADMaterialProperty (const std::string &name, MaterialData &material_data)
 
const ADMaterialProperty< T > & getADMaterialProperty (const std::string &name)
 
const ADMaterialProperty< T > & getADMaterialProperty (const std::string &name)
 
const MaterialProperty< T > & getMaterialPropertyOld (const std::string &name, MaterialData &material_data)
 
const MaterialProperty< T > & getMaterialPropertyOld (const std::string &name)
 
const MaterialProperty< T > & getMaterialPropertyOld (const std::string &name)
 
const MaterialProperty< T > & getMaterialPropertyOlder (const std::string &name, MaterialData &material_data)
 
const MaterialProperty< T > & getMaterialPropertyOlder (const std::string &name)
 
const MaterialProperty< T > & getMaterialPropertyOlder (const std::string &name)
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data, const unsigned int state)
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0)
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0)
 
const ADMaterialProperty< T > & getADMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data)
 
const ADMaterialProperty< T > & getADMaterialPropertyByName (const MaterialPropertyName &name)
 
const ADMaterialProperty< T > & getADMaterialPropertyByName (const MaterialPropertyName &name)
 
const MaterialProperty< T > & getMaterialPropertyOldByName (const MaterialPropertyName &name, MaterialData &material_data)
 
const MaterialProperty< T > & getMaterialPropertyOldByName (const MaterialPropertyName &name)
 
const MaterialProperty< T > & getMaterialPropertyOldByName (const MaterialPropertyName &name)
 
const MaterialProperty< T > & getMaterialPropertyOlderByName (const MaterialPropertyName &name, MaterialData &material_data)
 
const MaterialProperty< T > & getMaterialPropertyOlderByName (const MaterialPropertyName &name)
 
const MaterialProperty< T > & getMaterialPropertyOlderByName (const MaterialPropertyName &name)
 
std::pair< const MaterialProperty< T > *, std::set< SubdomainID > > getBlockMaterialProperty (const MaterialPropertyName &name)
 
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialProperty (const std::string &name)
 
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialProperty ()
 
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialPropertyByName (const std::string &prop_name)
 
const MaterialProperty< T > & getZeroMaterialProperty (Ts... args)
 
std::set< SubdomainIDgetMaterialPropertyBlocks (const std::string &name)
 
std::vector< SubdomainName > getMaterialPropertyBlockNames (const std::string &name)
 
std::set< BoundaryIDgetMaterialPropertyBoundaryIDs (const std::string &name)
 
std::vector< BoundaryName > getMaterialPropertyBoundaryNames (const std::string &name)
 
void checkBlockAndBoundaryCompatibility (std::shared_ptr< MaterialBase > discrete)
 
std::unordered_map< SubdomainID, std::vector< MaterialBase *> > buildRequiredMaterials (bool allow_stateful=true)
 
void statefulPropertiesAllowed (bool)
 
bool getMaterialPropertyCalled () const
 
virtual const std::unordered_set< unsigned int > & getMatPropDependencies () const
 
virtual void resolveOptionalProperties ()
 
const GenericMaterialProperty< T, is_ad > & getPossiblyConstantGenericMaterialPropertyByName (const MaterialPropertyName &prop_name, MaterialData &material_data, const unsigned int state)
 
bool isImplicit ()
 
Moose::StateArg determineState () const
 
virtual void threadJoin (const UserObject &) override
 
virtual void threadJoin (const UserObject &) override
 
virtual void subdomainSetup () override
 
virtual void subdomainSetup () override
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
const GenericOptionalMaterialProperty< T, is_ad > & getGenericOptionalMaterialProperty (const std::string &name, const unsigned int state=0)
 
const GenericOptionalMaterialProperty< T, is_ad > & getGenericOptionalMaterialProperty (const std::string &name, const unsigned int state=0)
 
const OptionalMaterialProperty< T > & getOptionalMaterialProperty (const std::string &name, const unsigned int state=0)
 
const OptionalMaterialProperty< T > & getOptionalMaterialProperty (const std::string &name, const unsigned int state=0)
 
const OptionalADMaterialProperty< T > & getOptionalADMaterialProperty (const std::string &name)
 
const OptionalADMaterialProperty< T > & getOptionalADMaterialProperty (const std::string &name)
 
const OptionalMaterialProperty< T > & getOptionalMaterialPropertyOld (const std::string &name)
 
const OptionalMaterialProperty< T > & getOptionalMaterialPropertyOld (const std::string &name)
 
const OptionalMaterialProperty< T > & getOptionalMaterialPropertyOlder (const std::string &name)
 
const OptionalMaterialProperty< T > & getOptionalMaterialPropertyOlder (const std::string &name)
 
MaterialBasegetMaterial (const std::string &name)
 
MaterialBasegetMaterial (const std::string &name)
 
MaterialBasegetMaterialByName (const std::string &name, bool no_warn=false)
 
MaterialBasegetMaterialByName (const std::string &name, bool no_warn=false)
 
bool hasMaterialProperty (const std::string &name)
 
bool hasMaterialProperty (const std::string &name)
 
bool hasMaterialPropertyByName (const std::string &name)
 
bool hasMaterialPropertyByName (const std::string &name)
 
bool hasADMaterialProperty (const std::string &name)
 
bool hasADMaterialProperty (const std::string &name)
 
bool hasADMaterialPropertyByName (const std::string &name)
 
bool hasADMaterialPropertyByName (const std::string &name)
 
bool hasGenericMaterialProperty (const std::string &name)
 
bool hasGenericMaterialProperty (const std::string &name)
 
bool hasGenericMaterialPropertyByName (const std::string &name)
 
bool hasGenericMaterialPropertyByName (const std::string &name)
 
const FunctiongetFunction (const std::string &name) const
 
const FunctiongetFunctionByName (const FunctionName &name) const
 
bool hasFunction (const std::string &param_name) const
 
bool hasFunctionByName (const FunctionName &name) const
 
bool isDefaultPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 
bool hasPostprocessor (const std::string &param_name, const unsigned int index=0) const
 
bool hasPostprocessorByName (const PostprocessorName &name) const
 
std::size_t coupledPostprocessors (const std::string &param_name) const
 
const PostprocessorName & getPostprocessorName (const std::string &param_name, const unsigned int index=0) const
 
const VectorPostprocessorValuegetVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name, bool needs_broadcast) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name, bool needs_broadcast) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
bool hasVectorPostprocessor (const std::string &param_name, const std::string &vector_name) const
 
bool hasVectorPostprocessor (const std::string &param_name) const
 
bool hasVectorPostprocessorByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
bool hasVectorPostprocessorByName (const VectorPostprocessorName &name) const
 
const VectorPostprocessorName & getVectorPostprocessorName (const std::string &param_name) const
 
T & getSampler (const std::string &name)
 
SamplergetSampler (const std::string &name)
 
T & getSamplerByName (const SamplerName &name)
 
SamplergetSamplerByName (const SamplerName &name)
 
virtual void meshDisplaced ()
 
PerfGraphperfGraph ()
 
const PostprocessorValuegetPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOld (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOld (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOlder (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOlder (const std::string &param_name, const unsigned int index=0) const
 
virtual const PostprocessorValuegetPostprocessorValueByName (const PostprocessorName &name) const
 
virtual const PostprocessorValuegetPostprocessorValueByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOldByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOldByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOlderByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOlderByName (const PostprocessorName &name) const
 
bool isVectorPostprocessorDistributed (const std::string &param_name) const
 
bool isVectorPostprocessorDistributed (const std::string &param_name) const
 
bool isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const
 
bool isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const
 
const DistributiongetDistribution (const std::string &name) const
 
const T & getDistribution (const std::string &name) const
 
const DistributiongetDistribution (const std::string &name) const
 
const T & getDistribution (const std::string &name) const
 
const DistributiongetDistributionByName (const DistributionName &name) const
 
const T & getDistributionByName (const std::string &name) const
 
const DistributiongetDistributionByName (const DistributionName &name) const
 
const T & getDistributionByName (const std::string &name) const
 
const Parallel::Communicator & comm () const
 
processor_id_type n_processors () const
 
processor_id_type processor_id () const
 
const std::vector< SubdomainName > & blocks () const
 
unsigned int numBlocks () const
 
virtual const std::set< SubdomainID > & blockIDs () const
 
unsigned int blocksMaxDimension () const
 
bool hasBlocks (const SubdomainName &name) const
 
bool hasBlocks (const std::vector< SubdomainName > &names) const
 
bool hasBlocks (const std::set< SubdomainName > &names) const
 
bool hasBlocks (SubdomainID id) const
 
bool hasBlocks (const std::vector< SubdomainID > &ids) const
 
bool hasBlocks (const std::set< SubdomainID > &ids) const
 
bool isBlockSubset (const std::set< SubdomainID > &ids) const
 
bool isBlockSubset (const std::vector< SubdomainID > &ids) const
 
bool hasBlockMaterialProperty (const std::string &prop_name)
 
const std::set< SubdomainID > & meshBlockIDs () const
 
virtual bool blockRestricted () const
 
virtual void checkVariable (const MooseVariableFieldBase &variable) const
 
void useVectorTag (const TagName &tag_name, VectorTagsKey)
 
void useVectorTag (TagID tag_id, VectorTagsKey)
 
void useMatrixTag (const TagName &tag_name, MatrixTagsKey)
 
void useMatrixTag (TagID tag_id, MatrixTagsKey)
 
bool isVectorTagged ()
 
bool isMatrixTagged ()
 
bool hasVectorTags () const
 
const std::set< TagID > & getVectorTags (VectorTagsKey) const
 
const std::set< TagID > & getMatrixTags (MatrixTagsKey) const
 

Static Public Member Functions

static InputParameters validParams ()
 
static void sort (typename std::vector< T > &vector)
 
static void sortDFS (typename std::vector< T > &vector)
 
static void cyclicDependencyError (CyclicDependencyException< T2 > &e, const std::string &header)
 

Public Attributes

const ConsoleStream _console
 

Static Public Attributes

static constexpr PropertyValue::id_type default_property_id
 
static constexpr PropertyValue::id_type zero_property_id
 
static constexpr auto SYSTEM
 
static constexpr auto NAME
 

Protected Member Functions

void setupElemRange ()
 setup the range of elements this object operates on More...
 
virtual void addPostprocessorDependencyHelper (const PostprocessorName &name) const override
 
virtual void addVectorPostprocessorDependencyHelper (const VectorPostprocessorName &name) const override
 
virtual void addUserObjectDependencyHelper (const UserObject &uo) const override
 
void addReporterDependencyHelper (const ReporterName &reporter_name) override
 
const ReporterNamegetReporterName (const std::string &param_name) const
 
T & declareRestartableData (const std::string &data_name, Args &&... args)
 
ManagedValue< T > declareManagedRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 
const T & getRestartableData (const std::string &data_name) const
 
T & declareRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 
T & declareRecoverableData (const std::string &data_name, Args &&... args)
 
T & declareRestartableDataWithObjectName (const std::string &data_name, const std::string &object_name, Args &&... args)
 
T & declareRestartableDataWithObjectNameWithContext (const std::string &data_name, const std::string &object_name, void *context, Args &&... args)
 
std::string restartableName (const std::string &data_name) const
 
const T & getMeshProperty (const std::string &data_name, const std::string &prefix)
 
const T & getMeshProperty (const std::string &data_name)
 
bool hasMeshProperty (const std::string &data_name, const std::string &prefix) const
 
bool hasMeshProperty (const std::string &data_name, const std::string &prefix) const
 
bool hasMeshProperty (const std::string &data_name) const
 
bool hasMeshProperty (const std::string &data_name) const
 
std::string meshPropertyName (const std::string &data_name) const
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level) const
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level, const std::string &live_message, const bool print_dots=true) const
 
std::string timedSectionName (const std::string &section_name) const
 
bool isCoupledScalar (const std::string &var_name, unsigned int i=0) const
 
unsigned int coupledScalarComponents (const std::string &var_name) const
 
unsigned int coupledScalar (const std::string &var_name, unsigned int comp=0) const
 
libMesh::Order coupledScalarOrder (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarValue (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableValueadCoupledScalarValue (const std::string &var_name, unsigned int comp=0) const
 
const GenericVariableValue< is_ad > & coupledGenericScalarValue (const std::string &var_name, unsigned int comp=0) const
 
const GenericVariableValue< false > & coupledGenericScalarValue (const std::string &var_name, const unsigned int comp) const
 
const GenericVariableValue< true > & coupledGenericScalarValue (const std::string &var_name, const unsigned int comp) const
 
const VariableValuecoupledVectorTagScalarValue (const std::string &var_name, TagID tag, unsigned int comp=0) const
 
const VariableValuecoupledMatrixTagScalarValue (const std::string &var_name, TagID tag, unsigned int comp=0) const
 
const VariableValuecoupledScalarValueOld (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarValueOlder (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDot (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableValueadCoupledScalarDot (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotDot (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotOld (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotDotOld (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotDu (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotDotDu (const std::string &var_name, unsigned int comp=0) const
 
const MooseVariableScalargetScalarVar (const std::string &var_name, unsigned int comp) const
 
virtual void checkMaterialProperty (const std::string &name, const unsigned int state)
 
void markMatPropRequested (const std::string &)
 
MaterialPropertyName getMaterialPropertyName (const std::string &name) const
 
void checkExecutionStage ()
 
const T & getReporterValue (const std::string &param_name, const std::size_t time_index=0)
 
const T & getReporterValue (const std::string &param_name, ReporterMode mode, const std::size_t time_index=0)
 
const T & getReporterValue (const std::string &param_name, const std::size_t time_index=0)
 
const T & getReporterValue (const std::string &param_name, ReporterMode mode, const std::size_t time_index=0)
 
const T & getReporterValueByName (const ReporterName &reporter_name, const std::size_t time_index=0)
 
const T & getReporterValueByName (const ReporterName &reporter_name, ReporterMode mode, const std::size_t time_index=0)
 
const T & getReporterValueByName (const ReporterName &reporter_name, const std::size_t time_index=0)
 
const T & getReporterValueByName (const ReporterName &reporter_name, ReporterMode mode, const std::size_t time_index=0)
 
bool hasReporterValue (const std::string &param_name) const
 
bool hasReporterValue (const std::string &param_name) const
 
bool hasReporterValue (const std::string &param_name) const
 
bool hasReporterValue (const std::string &param_name) const
 
bool hasReporterValueByName (const ReporterName &reporter_name) const
 
bool hasReporterValueByName (const ReporterName &reporter_name) const
 
bool hasReporterValueByName (const ReporterName &reporter_name) const
 
bool hasReporterValueByName (const ReporterName &reporter_name) const
 
const GenericMaterialProperty< T, is_ad > * defaultGenericMaterialProperty (const std::string &name)
 
const GenericMaterialProperty< T, is_ad > * defaultGenericMaterialProperty (const std::string &name)
 
const MaterialProperty< T > * defaultMaterialProperty (const std::string &name)
 
const MaterialProperty< T > * defaultMaterialProperty (const std::string &name)
 
const ADMaterialProperty< T > * defaultADMaterialProperty (const std::string &name)
 
const ADMaterialProperty< T > * defaultADMaterialProperty (const std::string &name)
 
virtual bool hasBlockMaterialPropertyHelper (const std::string &prop_name)
 
void initializeBlockRestrictable (const MooseObject *moose_object)
 
Moose::CoordinateSystemType getBlockCoordSystem ()
 
void prepareVectorTag (Assembly &assembly, unsigned int ivar)
 
void prepareVectorTag (Assembly &assembly, unsigned int ivar, ResidualTagType tag_type)
 
void prepareVectorTagNeighbor (Assembly &assembly, unsigned int ivar)
 
void prepareVectorTagLower (Assembly &assembly, unsigned int ivar)
 
void prepareMatrixTag (Assembly &assembly, unsigned int ivar, unsigned int jvar)
 
void prepareMatrixTag (Assembly &assembly, unsigned int ivar, unsigned int jvar, DenseMatrix< Number > &k) const
 
void prepareMatrixTagNonlocal (Assembly &assembly, unsigned int ivar, unsigned int jvar)
 
void prepareMatrixTagNeighbor (Assembly &assembly, unsigned int ivar, unsigned int jvar, Moose::DGJacobianType type)
 
void prepareMatrixTagNeighbor (Assembly &assembly, unsigned int ivar, unsigned int jvar, Moose::DGJacobianType type, DenseMatrix< Number > &k) const
 
void prepareMatrixTagLower (Assembly &assembly, unsigned int ivar, unsigned int jvar, Moose::ConstraintJacobianType type)
 
void accumulateTaggedLocalResidual ()
 
void assignTaggedLocalResidual ()
 
void accumulateTaggedLocalMatrix ()
 
void accumulateTaggedLocalMatrix (Assembly &assembly, unsigned int ivar, unsigned int jvar, const DenseMatrix< Number > &k)
 
void accumulateTaggedLocalMatrix (Assembly &assembly, unsigned int ivar, unsigned int jvar, Moose::DGJacobianType type, const DenseMatrix< Number > &k)
 
void accumulateTaggedNonlocalMatrix ()
 
void assignTaggedLocalMatrix ()
 
void addResiduals (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
 
void addResiduals (Assembly &assembly, const DenseVector< T > &residuals, const Indices &dof_indices, Real scaling_factor)
 
void addResiduals (Assembly &assembly, const ADResidualsPacket &packet)
 
void addResidualsAndJacobian (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
 
void addResidualsAndJacobian (Assembly &assembly, const ADResidualsPacket &packet)
 
void addJacobian (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
 
void addJacobian (Assembly &assembly, const ADResidualsPacket &packet)
 
void addJacobian (Assembly &assembly, DenseMatrix< Real > &local_k, const std::vector< dof_id_type > &row_indices, const std::vector< dof_id_type > &column_indices, Real scaling_factor)
 
void addResidualsWithoutConstraints (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
 
void addResidualsAndJacobianWithoutConstraints (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
 
void addJacobianWithoutConstraints (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
 
void addJacobianElement (Assembly &assembly, Real value, dof_id_type row_index, dof_id_type column_index, Real scaling_factor)
 
void setResidual (SystemBase &sys, const T &residual, MooseVariableFE< T > &var)
 
void setResidual (SystemBase &sys, Real residual, dof_id_type dof_index)
 
void setResidual (SystemBase &sys, SetResidualFunctor set_residual_functor)
 

Static Protected Member Functions

static std::string meshPropertyName (const std::string &data_name, const std::string &prefix)
 

Protected Attributes

FileName _plugin
 The plugin file name. More...
 
DynamicLibraryLoader _library
 The plugin library wrapper. More...
 
const uel_t _uel
 Function pointer to the dynamically loaded function. More...
 
MooseMesh_moose_mesh
 The MooseMesh that this user object operates on. More...
 
const libMesh::MeshBase_mesh
 The libMesh mesh that this object acts on. More...
 
const unsigned int _dim
 The dimension of the mesh, e.g. 3 for hexes and tets, 2 for quads and tris. More...
 
std::vector< NonlinearVariableName > _variable_names
 coupled variables to provide the DOF values More...
 
std::vector< AuxVariableName > _aux_variable_names
 Auxiliary variable names. More...
 
std::vector< const MooseVariableFieldBase * > _variables
 pointers to the variable objects More...
 
std::vector< const MooseVariableFieldBase * > _aux_variables
 pointers to the auxiliary variable objects More...
 
const std::set< SubdomainID_sub_ids
 The subdomain ids this object operates on. More...
 
std::unique_ptr< ConstElemRange_elem_range
 All the active and elements local to this process that exist on this object's subdomains. More...
 
std::vector< Real_props
 props More...
 
int _nprops
 
int _nstatev
 stateful data More...
 
std::array< std::map< dof_id_type, std::vector< Real > >, 2 > _statev
 
std::size_t _statev_index_current
 
std::size_t _statev_index_old
 
const int _jtype
 Abaqus element type. More...
 
SubProblem_subproblem
 
FEProblemBase_fe_problem
 
SystemBase_sys
 
const THREAD_ID _tid
 
Assembly_assembly
 
const Moose::CoordinateSystemType_coord_sys
 
const bool _duplicate_initial_execution
 
std::set< std::string > _depend_uo
 
const bool & _enabled
 
MooseApp_app
 
const std::string _type
 
const std::string _name
 
const InputParameters_pars
 
Factory_factory
 
ActionFactory_action_factory
 
const ExecFlagEnum_execute_enum
 
const ExecFlagType_current_execute_flag
 
MooseApp_restartable_app
 
const std::string _restartable_system_name
 
const THREAD_ID _restartable_tid
 
const bool _restartable_read_only
 
FEProblemBase_mci_feproblem
 
FEProblemBase_mdi_feproblem
 
MooseApp_pg_moose_app
 
const std::string _prefix
 
FEProblemBase_sc_fe_problem
 
const THREAD_ID _sc_tid
 
const Real_real_zero
 
const VariableValue_scalar_zero
 
const Point & _point_zero
 
const InputParameters_mi_params
 
const std::string _mi_name
 
const MooseObjectName _mi_moose_object_name
 
FEProblemBase_mi_feproblem
 
SubProblem_mi_subproblem
 
const THREAD_ID _mi_tid
 
const Moose::MaterialDataType _material_data_type
 
MaterialData_material_data
 
bool _stateful_allowed
 
bool _get_material_property_called
 
std::vector< std::unique_ptr< PropertyValue > > _default_properties
 
std::unordered_set< unsigned int_material_property_dependencies
 
const MaterialPropertyName _get_suffix
 
const bool _use_interpolated_state
 
const InputParameters_ti_params
 
FEProblemBase_ti_feproblem
 
bool _is_implicit
 
Real_t
 
const Real_t_old
 
int_t_step
 
Real_dt
 
Real_dt_old
 
bool _is_transient
 
const Parallel::Communicator & _communicator
 
const MaterialData_blk_material_data
 
SubProblem_subproblem
 
DenseVector< Number_local_re
 
DenseMatrix< Number_local_ke
 
DenseMatrix< Number_nonlocal_ke
 

Static Protected Attributes

static const std::string _interpolated_old
 
static const std::string _interpolated_older
 

Friends

class UELThread
 

Detailed Description

This user-object is a testbed for implementing a custom element.

Definition at line 27 of file AbaqusUserElement.h.

Member Typedef Documentation

◆ uel_t

typedef void(* AbaqusUserElement::uel_t) (Real RHS[], Real AMATRX[], Real SVARS[], Real ENERGY[], int *NDOFEL, int *NRHS, int *NSVARS, Real PROPS[], int *NPROPS, Real COORDS[], int *MCRD, int *NNODE, Real U[], Real DU[], Real V[], Real A[], int *JTYPE, Real TIME[], Real *DTIME, int *KSTEP, int *KINC, int *JELEM, Real PRAMS[], int *NDLOAD, int JDLTYP[], Real ADLMAG[], Real PREDEF[], int *NPREDF, int LFLAGS[], int *MLVARX, Real DDLMAG[], int *MDLOAD, Real *PNEWDT, int JPROPS[], int *NJPROP, Real *PERIOD)

function type for the external UMAT function

Definition at line 33 of file AbaqusUserElement.h.

Constructor & Destructor Documentation

◆ AbaqusUserElement()

AbaqusUserElement::AbaqusUserElement ( const InputParameters params)

Definition at line 58 of file AbaqusUserElement.C.

59  : GeneralUserObject(params),
60  BlockRestrictable(this),
61  TaggingInterface(this),
62  _plugin(getParam<FileName>("plugin")),
63  _library(_plugin + std::string("-") + QUOTE(METHOD) + ".plugin"),
64  _uel(_library.getFunction<uel_t>("uel_")),
68  _variable_names(getParam<std::vector<NonlinearVariableName>>("variables")),
69  _aux_variable_names(getParam<std::vector<AuxVariableName>>("external_fields")),
70  _sub_ids(blockRestricted() ? blockIDs() : _moose_mesh.meshSubdomains()),
71  _props(getParam<std::vector<Real>>("constant_properties")),
72  _nprops(_props.size()),
73  _nstatev(getParam<unsigned int>("num_state_vars")),
76  _jtype(getParam<int>("jtype"))
77 {
78  // coupled variables must be nonlinear scalar fields
79  for (const auto & variable_name : _variable_names)
80  {
81  const auto * var = &UserObject::_subproblem.getVariable(
82  0, variable_name, Moose::VarKindType::VAR_SOLVER, Moose::VarFieldType::VAR_FIELD_STANDARD);
83  _variables.push_back(var);
84 
85  // check block restriction
86  if (!var->hasBlocks(blockIDs()))
87  paramError("variables", "must be defined on all blocks the UEL is operating on.");
88  }
89 
90  for (const auto & aux_variable_name : _aux_variable_names)
91  {
92  MooseVariableFEBase * aux_var =
94  aux_variable_name,
95  Moose::VarKindType::VAR_AUXILIARY,
96  Moose::VarFieldType::VAR_FIELD_STANDARD);
97  _aux_variables.push_back(aux_var);
98  aux_var->sys().addVariableToZeroOnResidual(aux_variable_name);
99 
100  // check block restriction
101  if (!aux_var->hasBlocks(blockIDs()))
102  paramError("aux_variables", "must be defined on all blocks the UEL is operating on.");
103  }
104 }
std::vector< NonlinearVariableName > _variable_names
coupled variables to provide the DOF values
int _nstatev
stateful data
const uel_t _uel
Function pointer to the dynamically loaded function.
const libMesh::MeshBase & _mesh
The libMesh mesh that this object acts on.
MeshBase & mesh
virtual const std::set< SubdomainID > & blockIDs() const
virtual bool blockRestricted() const
SubProblem & _subproblem
MooseMesh & _moose_mesh
The MooseMesh that this user object operates on.
TaggingInterface(const MooseObject *moose_object)
std::size_t _statev_index_current
MeshBase & getMesh()
virtual unsigned int dimension() const
std::vector< AuxVariableName > _aux_variable_names
Auxiliary variable names.
const std::set< SubdomainID > _sub_ids
The subdomain ids this object operates on.
const T & getParam(const std::string &name) const
void paramError(const std::string &param, Args... args) const
virtual const MooseVariableFieldBase & getVariable(const THREAD_ID tid, const std::string &var_name, Moose::VarKindType expected_var_type=Moose::VarKindType::VAR_ANY, Moose::VarFieldType expected_var_field_type=Moose::VarFieldType::VAR_FIELD_ANY) const=0
std::vector< Real > _props
props
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const int _jtype
Abaqus element type.
virtual void addVariableToZeroOnResidual(std::string var_name)
T getFunction(std::string func, bool hard_fail=true)
Get a function/data pointer of type T to a function exported from the loaded library.
FileName _plugin
The plugin file name.
GeneralUserObject(const InputParameters &parameters)
DynamicLibraryLoader _library
The plugin library wrapper.
std::size_t _statev_index_old
BlockRestrictable(const MooseObject *moose_object, bool initialize=true)
bool hasBlocks(const SubdomainName &name) const
void(* uel_t)(Real RHS[], Real AMATRX[], Real SVARS[], Real ENERGY[], int *NDOFEL, int *NRHS, int *NSVARS, Real PROPS[], int *NPROPS, Real COORDS[], int *MCRD, int *NNODE, Real U[], Real DU[], Real V[], Real A[], int *JTYPE, Real TIME[], Real *DTIME, int *KSTEP, int *KINC, int *JELEM, Real PRAMS[], int *NDLOAD, int JDLTYP[], Real ADLMAG[], Real PREDEF[], int *NPREDF, int LFLAGS[], int *MLVARX, Real DDLMAG[], int *MDLOAD, Real *PNEWDT, int JPROPS[], int *NJPROP, Real *PERIOD)
function type for the external UMAT function
SystemBase & sys()
void ErrorVector unsigned int
std::vector< const MooseVariableFieldBase * > _variables
pointers to the variable objects
const unsigned int _dim
The dimension of the mesh, e.g. 3 for hexes and tets, 2 for quads and tris.
std::vector< const MooseVariableFieldBase * > _aux_variables
pointers to the auxiliary variable objects

Member Function Documentation

◆ execute()

void AbaqusUserElement::execute ( )
overridevirtual

Implements GeneralUserObject.

Definition at line 124 of file AbaqusUserElement.C.

125 {
126  // swap the current and old state data at the end of a converged timestep
128  {
130  return;
131  }
132 
133  PARALLEL_TRY
134  {
135  UELThread ut(_fe_problem, *this);
136  Threads::parallel_reduce(*_elem_range, ut);
137  }
138  PARALLEL_CATCH;
139 }
const ExecFlagType & getCurrentExecuteOnFlag() const
const ExecFlagType EXEC_TIMESTEP_END
std::size_t _statev_index_current
std::unique_ptr< ConstElemRange > _elem_range
All the active and elements local to this process that exist on this object&#39;s subdomains.
FEProblemBase & _fe_problem
std::size_t _statev_index_old

◆ finalize()

virtual void AbaqusUserElement::finalize ( )
inlinefinaloverridevirtual

Implements GeneralUserObject.

Definition at line 93 of file AbaqusUserElement.h.

93 {}

◆ getAuxVariables()

const std::vector<const MooseVariableFieldBase *>& AbaqusUserElement::getAuxVariables ( ) const
inline

Definition at line 97 of file AbaqusUserElement.h.

98  {
99  return _aux_variables;
100  }
std::vector< const MooseVariableFieldBase * > _aux_variables
pointers to the auxiliary variable objects

◆ getPlugin()

const uel_t& AbaqusUserElement::getPlugin ( ) const
inline

Definition at line 102 of file AbaqusUserElement.h.

102 { return _uel; }
const uel_t _uel
Function pointer to the dynamically loaded function.

◆ getVariables()

const std::vector<const MooseVariableFieldBase *>& AbaqusUserElement::getVariables ( ) const
inline

getters for the loop class

Definition at line 96 of file AbaqusUserElement.h.

96 { return _variables; }
std::vector< const MooseVariableFieldBase * > _variables
pointers to the variable objects

◆ initialize()

void AbaqusUserElement::initialize ( )
finaloverridevirtual

Implements GeneralUserObject.

Definition at line 119 of file AbaqusUserElement.C.

120 {
121 }

◆ initialSetup()

void AbaqusUserElement::initialSetup ( )
overridevirtual

Reimplemented from GeneralUserObject.

Definition at line 107 of file AbaqusUserElement.C.

108 {
109  setupElemRange();
110 }
void setupElemRange()
setup the range of elements this object operates on

◆ meshChanged()

void AbaqusUserElement::meshChanged ( )
overridevirtual

Reimplemented from GeneralUserObject.

Definition at line 113 of file AbaqusUserElement.C.

114 {
115  setupElemRange();
116 }
void setupElemRange()
setup the range of elements this object operates on

◆ setupElemRange()

void AbaqusUserElement::setupElemRange ( )
protected

setup the range of elements this object operates on

Definition at line 142 of file AbaqusUserElement.C.

Referenced by initialSetup(), and meshChanged().

143 {
144  _elem_range =
145  std::make_unique<ConstElemRange>(_mesh.active_local_subdomain_set_elements_begin(_sub_ids),
146  _mesh.active_local_subdomain_set_elements_end(_sub_ids));
147 
148  // prepopulate the statev map outside of a threaded region
149  if (_nstatev > 0)
150  for (const auto & elem : *_elem_range)
151  {
152  _statev[0][elem->id()].resize(_nstatev);
153  _statev[1][elem->id()].resize(_nstatev);
154  }
155 }
std::array< std::map< dof_id_type, std::vector< Real > >, 2 > _statev
int _nstatev
stateful data
const libMesh::MeshBase & _mesh
The libMesh mesh that this object acts on.
std::unique_ptr< ConstElemRange > _elem_range
All the active and elements local to this process that exist on this object&#39;s subdomains.
const std::set< SubdomainID > _sub_ids
The subdomain ids this object operates on.

◆ validParams()

InputParameters AbaqusUserElement::validParams ( )
static

Definition at line 19 of file AbaqusUserElement.C.

20 {
21  auto params = GeneralUserObject::validParams();
24  params.addClassDescription("Coupling UserObject to use Abaqus UEL plugins in MOOSE");
25 
26  // execute during residual and Jacobian evaluation
27  ExecFlagEnum & exec_enum = params.set<ExecFlagEnum>("execute_on", true);
28  exec_enum.addAvailableFlags(EXEC_PRE_KERNELS);
29  exec_enum = {EXEC_PRE_KERNELS, EXEC_TIMESTEP_END};
30  params.suppressParameter<ExecFlagEnum>("execute_on");
31 
32  // Avoid uninitialized residual objects
33  params.suppressParameter<bool>("force_preic");
34 
35  // coupled variables
36  params.addParam<std::vector<NonlinearVariableName>>("variables", "Nonlinear coupled variables");
37  // auxiliary variables (including temperature)
38  params.addParam<std::vector<AuxVariableName>>(
39  "external_fields",
40  {},
41  "Auxiliary field variables (or 'predifined field variables') passed to the UEL plugin. Some "
42  "plugins may assume that the first field is temperature when there are multiple external "
43  "fields.");
44 
45  // UEL plugin file
46  params.addRequiredParam<FileName>("plugin", "UEL plugin file");
47 
48  params.addRequiredParam<std::vector<Real>>(
49  "constant_properties", "Constant mechanical and thermal material properties (PROPS)");
50  params.addRequiredParam<unsigned int>("num_state_vars",
51  "The number of state variables this UMAT is going to use");
52 
53  params.addParam<int>("jtype", 0, "Abaqus element type integer");
54 
55  return params;
56 }
static InputParameters validParams()
void addAvailableFlags(const ExecFlagType &flag, Args... flags)
const ExecFlagType EXEC_TIMESTEP_END
static InputParameters validParams()
const ExecFlagType EXEC_PRE_KERNELS
static InputParameters validParams()

Friends And Related Function Documentation

◆ UELThread

friend class UELThread
friend

Definition at line 157 of file AbaqusUserElement.h.

Member Data Documentation

◆ _aux_variable_names

std::vector<AuxVariableName> AbaqusUserElement::_aux_variable_names
protected

Auxiliary variable names.

Definition at line 130 of file AbaqusUserElement.h.

Referenced by AbaqusUserElement().

◆ _aux_variables

std::vector<const MooseVariableFieldBase *> AbaqusUserElement::_aux_variables
protected

pointers to the auxiliary variable objects

Definition at line 136 of file AbaqusUserElement.h.

Referenced by AbaqusUserElement(), and getAuxVariables().

◆ _dim

const unsigned int AbaqusUserElement::_dim
protected

The dimension of the mesh, e.g. 3 for hexes and tets, 2 for quads and tris.

Definition at line 124 of file AbaqusUserElement.h.

Referenced by UELThread::onElement().

◆ _elem_range

std::unique_ptr<ConstElemRange> AbaqusUserElement::_elem_range
protected

All the active and elements local to this process that exist on this object's subdomains.

Definition at line 142 of file AbaqusUserElement.h.

Referenced by execute(), and setupElemRange().

◆ _jtype

const int AbaqusUserElement::_jtype
protected

Abaqus element type.

Definition at line 155 of file AbaqusUserElement.h.

Referenced by UELThread::onElement().

◆ _library

DynamicLibraryLoader AbaqusUserElement::_library
protected

The plugin library wrapper.

Definition at line 112 of file AbaqusUserElement.h.

◆ _mesh

const libMesh::MeshBase& AbaqusUserElement::_mesh
protected

The libMesh mesh that this object acts on.

Definition at line 121 of file AbaqusUserElement.h.

Referenced by setupElemRange().

◆ _moose_mesh

MooseMesh& AbaqusUserElement::_moose_mesh
protected

The MooseMesh that this user object operates on.

Definition at line 118 of file AbaqusUserElement.h.

◆ _nprops

int AbaqusUserElement::_nprops
protected

Definition at line 146 of file AbaqusUserElement.h.

Referenced by UELThread::onElement().

◆ _nstatev

int AbaqusUserElement::_nstatev
protected

stateful data

Definition at line 149 of file AbaqusUserElement.h.

Referenced by UELThread::onElement(), and setupElemRange().

◆ _plugin

FileName AbaqusUserElement::_plugin
protected

The plugin file name.

Definition at line 109 of file AbaqusUserElement.h.

◆ _props

std::vector<Real> AbaqusUserElement::_props
protected

props

Definition at line 145 of file AbaqusUserElement.h.

Referenced by UELThread::onElement().

◆ _statev

std::array<std::map<dof_id_type, std::vector<Real> >, 2> AbaqusUserElement::_statev
protected

Definition at line 150 of file AbaqusUserElement.h.

Referenced by UELThread::onElement(), and setupElemRange().

◆ _statev_index_current

std::size_t AbaqusUserElement::_statev_index_current
protected

Definition at line 151 of file AbaqusUserElement.h.

Referenced by execute(), and UELThread::onElement().

◆ _statev_index_old

std::size_t AbaqusUserElement::_statev_index_old
protected

Definition at line 152 of file AbaqusUserElement.h.

Referenced by execute(), and UELThread::onElement().

◆ _sub_ids

const std::set<SubdomainID> AbaqusUserElement::_sub_ids
protected

The subdomain ids this object operates on.

Definition at line 139 of file AbaqusUserElement.h.

Referenced by setupElemRange().

◆ _uel

const uel_t AbaqusUserElement::_uel
protected

Function pointer to the dynamically loaded function.

Definition at line 115 of file AbaqusUserElement.h.

Referenced by getPlugin().

◆ _variable_names

std::vector<NonlinearVariableName> AbaqusUserElement::_variable_names
protected

coupled variables to provide the DOF values

Definition at line 127 of file AbaqusUserElement.h.

Referenced by AbaqusUserElement().

◆ _variables

std::vector<const MooseVariableFieldBase *> AbaqusUserElement::_variables
protected

pointers to the variable objects

Definition at line 133 of file AbaqusUserElement.h.

Referenced by AbaqusUserElement(), and getVariables().


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