21 "delete_remote_elements_after_late_geometric_ghosting");
31 params.
addClassDescription(
"Perform operations on the mesh in preparation for a simulation.");
41 mooseError(
"No mesh file was supplied and no generation block was provided");
53 if (
_mesh->isSplit() &&
_mesh->skipRefineWhenUseSplit())
70 TIME_SECTION(
"uniformRefine", 2,
"Uniformly Refining");
72 if (
_mesh->uniformRefineLevel())
74 if (!
_mesh->interiorLowerDBlocks().empty() || !
_mesh->boundaryLowerDBlocks().empty())
75 mooseError(
"HFEM does not support mesh uniform refinement currently.");
93 else if (
_current_task ==
"delete_remote_elements_after_late_geometric_ghosting")
95 TIME_SECTION(
"deleteRemoteElems", 2,
"Deleting Remote Elements");
99 mooseError(
"Our reference and displaced meshes are not in sync with respect to whether we "
100 "should delete remote elements.");
104 if (
_mesh->needsRemoteElemDeletion())
109 _mesh->deleteRemoteElements();
117 bool prepare_for_use_called_on_undisplaced =
false;
119 TIME_SECTION(
"completeSetupUndisplaced", 2,
"Setting Up Undisplaced Mesh");
120 prepare_for_use_called_on_undisplaced =
_mesh->prepare(
nullptr);
125 TIME_SECTION(
"completeSetupDisplaced", 2,
"Setting Up Displaced Mesh");
128 prepare_for_use_called_on_undisplaced ? &
_mesh->getMesh() :
nullptr);
registerMooseAction("MooseApp", SetupMeshCompleteAction, "prepare_mesh")
std::shared_ptr< MooseMesh > & _mesh
static InputParameters validParams()
MooseApp & _app
The MOOSE application this is associated with.
std::shared_ptr< MooseMesh > & _displaced_mesh
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
const std::string & _current_task
The current action (even though we have separate instances for each action)
static void uniformRefine(MooseMesh *mesh, unsigned int level=libMesh::invalid_uint)
Performs uniform refinement of the passed Mesh object.
bool isUltimateMaster() const
Whether or not this app is the ultimate master app.
bool getExodusFileRestart() const
Whether or not we need to use a separate Exodus reader to read the mesh BEFORE we create the mesh.
bool isRecovering() const
Whether or not this is a "recover" calculation.
bool useMasterMesh() const
Returns whether to use the parent app mesh as the mesh for this app.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
static InputParameters validParams()
SetupMeshCompleteAction(const InputParameters ¶ms)
virtual void act() override
Method to add objects to the simulation or perform other setup tasks.