92 virtual
void execute() override;
150 std::array<std::map<dof_id_type, std::vector<Real>>, 2>
_statev;
std::array< std::map< dof_id_type, std::vector< Real > >, 2 > _statev
std::vector< NonlinearVariableName > _variable_names
coupled variables to provide the DOF values
virtual void initialSetup() override
int _nstatev
stateful data
const uel_t _uel
Function pointer to the dynamically loaded function.
virtual void execute() override
const uel_t & getPlugin() const
const libMesh::MeshBase & _mesh
The libMesh mesh that this object acts on.
virtual void initialize() override final
The following methods are specializations for using the Parallel::packed_range_* routines for a vecto...
MooseMesh & _moose_mesh
The MooseMesh that this user object operates on.
virtual void meshChanged() override
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's subdomains.
std::vector< AuxVariableName > _aux_variable_names
Auxiliary variable names.
const std::vector< const MooseVariableFieldBase * > & getVariables() const
getters for the loop class
const std::set< SubdomainID > _sub_ids
The subdomain ids this object operates on.
AbaqusUserElement(const InputParameters ¶ms)
std::vector< Real > _props
props
This user-object is a testbed for implementing a custom element.
const std::vector< const MooseVariableFieldBase * > & getAuxVariables() const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const int _jtype
Abaqus element type.
void setupElemRange()
setup the range of elements this object operates on
FileName _plugin
The plugin file name.
class infix_ostream_iterator if void
static InputParameters validParams()
DynamicLibraryLoader _library
The plugin library wrapper.
std::size_t _statev_index_old
virtual void finalize() override final
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
Wrapper class to facilitate loading and lifetime management of dynamic libraries and obtaining pointe...
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