93 virtual
void execute() override;
151 std::array<std::map<dof_id_type, std::vector<Real>>, 2>
_statev;
This user-object is a testbed for implementing a custom element.
std::vector< const MooseVariableFieldBase * > _aux_variables
pointers to the auxiliary variable objects
static InputParameters validParams()
std::size_t _statev_index_old
virtual void initialSetup() override
std::vector< NonlinearVariableName > _variable_names
coupled variables to provide the DOF values
std::vector< Real > _props
props
const int _jtype
Abaqus element type.
std::vector< AuxVariableName > _aux_variable_names
Auxiliary variable names.
virtual void initialize() override final
const std::set< SubdomainID > _sub_ids
The subdomain ids this object operates on.
virtual void finalize() override final
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's subdomains.
std::size_t _statev_index_current
const uel_t & getPlugin() const
std::array< std::map< dof_id_type, std::vector< Real > >, 2 > _statev
int _nstatev
stateful data
virtual void timestepSetup() override
DynamicLibraryLoader _library
The plugin library wrapper.
virtual void execute() override
const std::vector< const MooseVariableFieldBase * > & getVariables() const
getters for the loop class
const unsigned int _dim
The dimension of the mesh, e.g. 3 for hexes and tets, 2 for quads and tris.
MooseMesh & _moose_mesh
The MooseMesh that this user object operates on.
FileName _plugin
The plugin file name.
std::vector< const MooseVariableFieldBase * > _variables
pointers to the variable objects
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
virtual void meshChanged() override
const std::vector< const MooseVariableFieldBase * > & getAuxVariables() const
void setupElemRange()
setup the range of elements this object operates on
const uel_t _uel
Function pointer to the dynamically loaded function.
Wrapper class to facilitate loading and lifetime management of dynamic libraries and obtaining pointe...
The following methods are specializations for using the Parallel::packed_range_* routines for a vecto...