14 #define QUOTE(macro) stringifyName(macro) 22 params.
addClassDescription(
"Coupling user object to use Abaqus UEXTERNALDB subroutines in MOOSE");
24 "plugin",
"The path to the compiled dynamic library for the plugin you want to use");
26 "analysis_step_user_object",
27 "The AnalysisStepUserObject that provides times from simulation loading steps.");
32 #error "The METHOD preprocessor symbol must be supplied by the build system." 37 _plugin(getParam<FileName>(
"plugin")),
38 _library(_plugin +
std::string(
"-") + QUOTE(METHOD) +
".plugin"),
39 _uexternaldb(_library.getFunction<uexternaldb_t>(
"uexternaldb_")),
41 _current_execute_on_flag(_fe_problem.getCurrentExecuteOnFlag())
55 _step_user_object = &getUserObject<AnalysisStepUserObject>(
"analysis_step_user_object");
static void setCommunicator(const libMesh::Parallel::Communicator *communicator)
Global storage for the MPI communicator, this will be set by any Abaqus class.
virtual void initialSetup() override
AbaqusUExternalDB(const InputParameters ¶meters)
const AnalysisStepUserObject * _step_user_object
User object that determines the step number.
const Parallel::Communicator & _communicator
const ExecFlagType EXEC_TIMESTEP_END
virtual const std::string & name() const
uexternaldb_t _uexternaldb
const std::string & getLastInputFileName() const
static InputParameters validParams()
Coupling user object to use Abaqus UEXTERNALDB subroutines in MOOSE.
const ExecFlagType EXEC_TIMESTEP_BEGIN
virtual void getAnalysisStepUserObject(const FEProblemBase &fe_problem, const AnalysisStepUserObject *&step_user_object, const std::string &name)
bool isParamSetByUser(const std::string &nm) const
static InputParameters validParams()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
FEProblemBase & _fe_problem
virtual void execute() override
the UEXTERNALDB subroutine gets called here
unsigned int getStep(const Real &time) const
const ExecFlagType & _current_execute_on_flag
const ExecFlagType EXEC_FINAL
static void setInputFile(const std::string &input_file)
Global storage for the simulation output directory, this will be set by any Abaqus class...
registerMooseObject("SolidMechanicsApp", AbaqusUExternalDB)
const ExecFlagType EXEC_INITIAL