10 #include "libmesh/petsc_macro.h" 11 #include "libmesh/libmesh_config.h" 25 #include "hit/parse.h" 39 registerExecFlag(
"MULTIAPP_FIXED_POINT_ITERATION_END");
41 registerDefaultExecFlag(
"MULTIAPP_FIXED_POINT_END");
43 registerDefaultExecFlag(
"MULTIAPP_FIXED_POINT_BEGIN");
45 registerDefaultExecFlag(
"MULTIAPP_FIXED_POINT_CONVERGENCE");
57 #ifdef LIBMESH_ENABLE_AMR 72 registerAppDataFilePath(
"moose");
73 registerRepository(
"moose",
"github.com/idaholab/moose");
82 R
"(@article{harbour2025moose, 83 title = {4.0 {MOOSE}: Enabling massively parallel Multiphysics simulation}, 84 journal = {{SoftwareX}}, 89 doi = {https://doi.org/10.1016/j.softx.2025.102264}, 90 url = {https://www.sciencedirect.com/science/article/pii/S2352711025002316}, 91 author = {Logan Harbour and Guillaume Giudicelli and Alexander D. Lindsay and Peter German and Joshua Hansel and Casey Icenhour and Mengnan Li and Jason M. Miller and Roy H. Stogner and Patrick Behne and Daniel Yankura and Zachary M. Prince and Corey DeChant and Daniel Schwen and Benjamin W. Spencer and Mauricio Tano and Namjae Choi and Yaqi Wang and Max Nezdyur and Yinbin Miao and Tianchen Hu and Shikhar Kumar and Christopher Matthews and Brandon Langley and Nuno Nobre and Alexander Blair and Chris MacMackin and Henrique Bergallo Rocha and Edward Palmer and Jesse Carter and J{\"o}rg Meier and Andrew E. Slaughter and David Andr{\v{s}} and Robert W. Carlsen and Fande Kong and Derek R. Gaston and Cody J. Permann}, 120 registerMooseObjectTask(
"create_problem",
Problem,
false);
121 registerMooseObjectTask(
"setup_executioner",
Executioner,
false);
122 registerMooseObjectTask(
"read_executor",
Executor,
false);
123 registerTask(
"add_executor",
true);
126 registerTask(
"init_physics",
false);
127 registerTask(
"init_component_physics",
false);
128 registerTask(
"meta_action_component",
false);
129 registerTask(
"setup_component",
false);
131 registerTask(
"list_component",
false);
135 registerMooseObjectTask(
"determine_system_type",
Executioner,
true);
137 registerMooseObjectTask(
"setup_mesh",
MooseMesh,
false);
138 registerMooseObjectTask(
"set_mesh_base",
MooseMesh,
false);
139 registerMooseObjectTask(
"init_mesh",
MooseMesh,
false);
140 registerMooseObjectTask(
"add_mesh_generator",
MeshGenerator,
false);
141 registerTask(
"create_added_mesh_generators",
true);
142 registerMooseObjectTask(
"append_mesh_generator",
MeshGenerator,
false);
144 registerMooseObjectTask(
"add_kernel",
Kernel,
false);
152 registerMooseObjectTask(
"add_elemental_field_variable",
MooseVariableBase,
false);
155 registerMooseObjectTask(
"add_nodal_kernel",
NodalKernel,
false);
157 registerMooseObjectTask(
"add_functor_material",
FunctorMaterial,
false);
158 registerMooseObjectTask(
"add_material",
MaterialBase,
false);
160 registerMooseObjectTask(
"add_materials_physics",
FunctorMaterial,
false);
161 appendMooseObjectTask (
"add_materials_physics",
MaterialBase);
165 registerMooseObjectTask(
"add_function",
Function,
false);
167 registerMooseObjectTask(
"add_distribution",
Distribution,
false);
168 registerMooseObjectTask(
"add_sampler",
Sampler,
false);
170 registerMooseObjectTask(
"add_aux_kernel",
AuxKernel,
false);
174 registerMooseObjectTask(
"add_bound", Bounds,
false);
176 registerMooseObjectTask(
"add_scalar_kernel",
ScalarKernel,
false);
177 registerMooseObjectTask(
"add_aux_scalar_kernel",
AuxScalarKernel,
false);
178 registerMooseObjectTask(
"add_dirac_kernel",
DiracKernel,
false);
180 registerMooseObjectTask(
"add_dg_kernel",
DGKernel,
false);
181 registerMooseObjectTask(
"add_fv_kernel",
FVKernel,
false);
183 registerMooseObjectTask(
"add_linear_fv_kernel",
LinearFVKernel,
false);
187 registerMooseObjectTask(
"add_interface_kernel",
InterfaceKernel,
false);
189 registerMooseObjectTask(
"add_constraint",
Constraint,
false);
190 registerMooseObjectTask(
"add_hybridized_kernel",
HDGKernel,
false);
191 registerMooseObjectTask(
"add_hybridized_integrated_bc", HDGIntegratedBC,
false);
200 registerMooseObjectTask(
"add_damper",
Damper,
false);
201 registerMooseObjectTask(
"setup_predictor",
Predictor,
false);
202 registerMooseObjectTask(
"add_time_steppers",
TimeStepper,
false);
203 registerMooseObjectTask(
"add_time_stepper",
TimeStepper,
false);
204 registerTask (
"compose_time_stepper",
true);
205 registerMooseObjectTask(
"setup_time_integrators",
TimeIntegrator,
false);
206 registerMooseObjectTask(
"setup_time_integrator",
TimeIntegrator,
false);
207 registerMooseObjectTask(
"add_convergence",
Convergence,
false);
210 registerMooseObjectTask(
"add_field_split",
Split,
false);
212 registerMooseObjectTask(
"add_mesh_division",
MeshDivision,
false);
213 registerMooseObjectTask(
"add_user_object",
UserObject,
false);
216 appendDeprecatedMooseObjectTask(
"add_user_object", Corrector);
217 registerMooseObjectTask(
"add_corrector", Corrector,
false);
218 appendDeprecatedMooseObjectTask(
"add_user_object", MeshModifier);
219 registerMooseObjectTask(
"add_mesh_modifier", MeshModifier,
false);
221 registerMooseObjectTask(
"add_postprocessor",
Postprocessor,
false);
223 registerMooseObjectTask(
"add_reporter",
Reporter,
false);
225 registerMooseObjectTask(
"add_positions",
Positions,
false);
226 registerMooseObjectTask(
"add_times",
Times,
false);
228 registerMooseObjectTask(
"add_indicator",
Indicator,
false);
229 registerMooseObjectTask(
"add_marker",
Marker,
false);
231 registerMooseObjectTask(
"add_multi_app",
MultiApp,
false);
232 registerMooseObjectTask(
"add_transfer",
Transfer,
false);
234 registerMooseObjectTask(
"add_output",
Output,
false);
236 registerMooseObjectTask(
"add_control",
Control,
false);
237 registerMooseObjectTask(
"add_chain_control",
ChainControl,
false);
242 registerTask(
"dynamic_object_registration",
false);
243 registerTask(
"common_output",
true);
244 registerTask(
"setup_recover_file_base",
true);
245 registerTask(
"recover_meta_data",
true);
247 registerTask(
"add_bounds_vectors",
false);
248 registerTask(
"add_periodic_bc",
false);
249 registerTask(
"add_aux_variable",
false);
250 registerTask(
"add_external_aux_variables",
true);
251 registerTask(
"add_variable",
false);
252 registerTask(
"add_mortar_variable",
false);
254 registerTask(
"execute_mesh_generators",
true);
255 registerTask(
"uniform_refine_mesh",
false);
256 registerTask(
"prepare_mesh",
false);
257 registerTask(
"delete_remote_elements_after_late_geometric_ghosting",
false);
258 registerTask(
"setup_mesh_complete",
true);
259 registerTask(
"post_mesh_prepared",
false);
260 registerTask(
"add_geometric_rm",
false);
261 registerTask(
"attach_geometric_rm",
true);
262 registerTask(
"attach_geometric_rm_final",
true);
264 registerTask(
"init_displaced_problem",
false);
266 registerTask(
"add_algebraic_rm",
false);
267 registerTask(
"attach_algebraic_rm",
true);
268 registerTask(
"add_coupling_rm",
false);
269 registerTask(
"attach_coupling_rm",
true);
270 registerTask(
"init_problem",
true);
271 registerTask(
"check_copy_nodal_vars",
true);
272 registerTask(
"copy_nodal_vars",
true);
273 registerTask(
"copy_nodal_aux_vars",
true);
274 registerTask(
"copy_vars_physics",
false);
275 registerTask(
"setup_postprocessor_data",
false);
276 registerTask(
"setup_time_steppers",
true);
278 registerTask(
"setup_dampers",
true);
279 registerTask(
"check_integrity",
true);
280 registerTask(
"resolve_optional_materials",
true);
281 registerTask(
"check_integrity_early",
true);
282 registerTask(
"check_integrity_early_physics",
false);
283 registerTask(
"setup_quadrature",
true);
284 registerTask(
"create_tagged_matrices",
true);
286 registerTask(
"mesh_modifiers",
false);
289 registerTask(
"no_action",
false);
290 registerTask(
"set_global_params",
false);
291 registerTask(
"setup_adaptivity",
false);
292 registerTask(
"meta_action",
false);
293 registerTask(
"setup_residual_debug",
false);
294 registerTask(
"setup_oversampling",
false);
295 registerTask(
"deprecated_block",
false);
296 registerTask(
"set_adaptivity_options",
false);
297 registerTask(
"add_mortar_interface",
false);
298 registerTask(
"coupling_functor_check",
true);
299 registerTask(
"add_master_action_material",
false);
300 registerTask(
"setup_projected_properties",
false);
301 registerTask(
"create_application_block",
false);
304 registerTask(
"setup_function_complete",
false);
305 registerTask(
"setup_variable_complete",
false);
306 registerTask(
"setup_executioner_complete",
false);
307 registerTask(
"ready_to_init",
true);
310 registerTask(
"add_output_aux_variables",
true);
311 registerTask(
"check_output",
true);
312 registerTask(
"declare_late_reporters",
true);
314 registerTask(
"create_problem_default",
true);
315 registerTask(
"create_problem_custom",
false);
316 registerTask(
"create_problem_complete",
false);
318 registerTask(
"add_default_nonlinear_convergence",
true);
319 registerTask(
"add_default_multiapp_fixed_point_convergence",
true);
320 registerTask(
"add_default_steady_state_convergence",
true);
322 registerTask(
"chain_control_setup",
true);
323 registerTask(
"start_webservercontrol",
true);
326 registerTask(
"auto_checkpoint_action",
true);
342 "(meta_action_component)" 343 "(dynamic_object_registration)" 345 "(set_global_params)" 346 "(setup_recover_file_base)" 347 "(check_copy_nodal_vars)" 351 "(add_mesh_generator)" 352 "(create_added_mesh_generators)" 353 "(append_mesh_generator)" 354 "(execute_mesh_generators)" 355 "(recover_meta_data)" 357 "(attach_geometric_rm)" 360 "(add_mortar_interface)" 361 "(uniform_refine_mesh)" 362 "(setup_mesh_complete)" 363 "(post_mesh_prepared)" 364 "(determine_system_type)" 366 "(create_problem_custom)" 367 "(create_problem_default)" 368 "(create_problem_complete)" 369 "(init_displaced_problem)" 372 "(init_component_physics)" 374 "(setup_postprocessor_data)" 375 "(setup_time_integrator, setup_time_integrators)" 376 "(setup_executioner)" 377 "(setup_executioner_complete)" 381 "(check_integrity_early)" 383 "(add_aux_variable, add_variable, add_elemental_field_variable," 384 " add_external_aux_variables)" 385 "(add_variables_physics)" 386 "(add_mortar_variable)" 387 "(setup_variable_complete)" 388 "(check_integrity_early_physics)" 391 "(add_default_nonlinear_convergence," 392 " add_default_multiapp_fixed_point_convergence," 393 " add_default_steady_state_convergence)" 396 "(add_user_object, add_corrector, add_mesh_modifier)" 398 "(add_preconditioning)" 399 "(create_tagged_matrices)" 402 "(setup_function_complete)" 404 "(set_adaptivity_options)" 405 "(add_ic, add_fv_ic)" 409 "(add_time_stepper, add_time_steppers)" 410 "(compose_time_stepper)" 411 "(setup_time_steppers)" 414 "(setup_residual_debug)" 415 "(add_bounds_vectors)" 416 "(add_mesh_division)" 419 "(copy_nodal_vars, copy_nodal_aux_vars, copy_vars_physics)" 421 "(add_master_action_material)" 422 "(add_functor_material)" 423 "(add_materials_physics)" 424 "(setup_projected_properties)" 425 "(add_output_aux_variables)" 427 "(auto_checkpoint_action)" 428 "(add_postprocessor)" 429 "(add_vector_postprocessor)" 432 "(declare_late_reporters)" 433 "(add_aux_kernel, add_bc, add_damper, add_dirac_kernel, add_kernel," 434 " add_nodal_kernel, add_dg_kernel, add_fv_kernel, add_interpolation_method," 435 " add_linear_fv_kernel," 436 " add_fv_bc, add_linear_fv_bc, add_fv_ik, add_interface_kernel," 437 " add_scalar_kernel, add_aux_scalar_kernel, add_indicator, add_marker," 438 " add_bound, add_hybridized_kernel, add_hybridized_integrated_bc)" 439 "(resolve_optional_materials)" 442 "(attach_geometric_rm_final)" 443 "(attach_algebraic_rm)" 444 "(attach_coupling_rm)" 445 "(coupling_functor_check)" 446 "(delete_remote_elements_after_late_geometric_ghosting)" 448 "(add_control, add_chain_control)" 449 "(chain_control_setup)" 450 "(start_webservercontrol)" 453 "(create_application_block)");
456 #ifdef MOOSE_MFEM_ENABLED 457 registerTask(
"add_mfem_problem_operator",
true);
458 addTaskDependency(
"add_mfem_problem_operator",
"init_mesh");
459 addTaskDependency(
"add_variable",
"add_mfem_problem_operator");
460 addTaskDependency(
"add_aux_variable",
"add_mfem_problem_operator");
461 addTaskDependency(
"add_elemental_field_variable",
"add_mfem_problem_operator");
462 addTaskDependency(
"add_bc",
"add_mfem_problem_operator");
463 addTaskDependency(
"add_kernel",
"add_mfem_problem_operator");
466 registerMooseObjectTask(
"add_mfem_submeshes",
MFEMSubMesh,
false);
467 addTaskDependency(
"add_mfem_submeshes",
"create_problem_complete");
473 registerMooseObjectTask(
"add_mfem_fespaces",
MFEMFESpace,
false);
474 appendMooseObjectTask(
"add_mfem_fespaces", MFEMFECollection);
475 addTaskDependency(
"add_mfem_fespaces",
"add_mfem_submeshes");
476 addTaskDependency(
"add_variable",
"add_mfem_fespaces");
477 addTaskDependency(
"add_aux_variable",
"add_mfem_fespaces");
478 addTaskDependency(
"add_elemental_field_variable",
"add_mfem_fespaces");
479 addTaskDependency(
"add_kernel",
"add_mfem_fespaces");
482 registerMooseObjectTask(
"add_mfem_complex_kernel_components",
Kernel,
false);
483 registerMooseObjectTask(
"add_mfem_complex_bc_components",
BoundaryCondition,
false);
484 addTaskDependency(
"add_mfem_complex_kernel_components",
"add_mfem_fespaces");
485 addTaskDependency(
"add_mfem_complex_bc_components",
"add_mfem_fespaces");
486 addTaskDependency(
"add_mfem_complex_kernel_components",
"add_kernel");
487 addTaskDependency(
"add_mfem_complex_bc_components",
"add_bc");
490 registerTask(
"set_mesh_fe_space",
true);
491 addTaskDependency(
"set_mesh_fe_space",
"add_variable");
492 addTaskDependency(
"set_mesh_fe_space",
"init_mesh");
496 addTaskDependency(
"add_mfem_preconditioner",
"add_mfem_problem_operator");
497 addTaskDependency(
"add_mfem_preconditioner",
"add_variable");
501 addTaskDependency(
"add_mfem_solver",
"add_mfem_preconditioner");
502 addTaskDependency(
"add_mfem_solver",
"add_mfem_problem_operator");
506 addTaskDependency(
"add_linear_fv_kernel",
"add_interpolation_method");
508 registerTask(
"parse_neml2",
false);
509 addTaskDependency(
"add_material",
"parse_neml2");
510 addTaskDependency(
"add_user_object",
"parse_neml2");
551 const std::set<std::string> & obj_labels)
556 registerTask(
"dump_objects",
false);
557 registerTask(
"finish_input_file_output",
false);
568 registerSyntax(
"DiffusionCG",
"Physics/Diffusion/ContinuousGalerkin/*");
569 registerSyntax(
"DiffusionFV",
"Physics/Diffusion/FiniteVolume/*");
571 registerSyntax(
"AddActionComponentAction",
"ActionComponents/*");
572 registerSyntax(
"CombineComponentsMeshes",
"ActionComponents");
574 registerSyntaxTask(
"CopyNodalVarsAction",
"Variables/*",
"check_copy_nodal_vars");
575 registerSyntaxTask(
"CopyNodalVarsAction",
"Variables/*",
"copy_nodal_vars");
576 registerSyntaxTask(
"CopyNodalVarsAction",
"AuxVariables/*",
"check_copy_nodal_vars");
577 registerSyntaxTask(
"CopyNodalVarsAction",
"AuxVariables/*",
"copy_nodal_aux_vars");
579 registerSyntaxTask(
"AddKernelAction",
"Kernels/*",
"add_kernel");
580 registerSyntaxTask(
"AddNodalKernelAction",
"NodalKernels/*",
"add_nodal_kernel");
581 registerSyntaxTask(
"AddKernelAction",
"AuxKernels/*",
"add_aux_kernel");
583 registerSyntaxTask(
"AddHDGKernelAction",
"HDGKernels/*",
"add_hybridized_kernel");
585 registerSyntax(
"AddAuxKernelAction",
"AuxVariables/*/AuxKernel");
587 registerSyntaxTask(
"AddScalarKernelAction",
"ScalarKernels/*",
"add_scalar_kernel");
588 registerSyntaxTask(
"AddScalarKernelAction",
"AuxScalarKernels/*",
"add_aux_scalar_kernel");
590 registerSyntaxTask(
"AddBCAction",
"BCs/*",
"add_bc");
592 registerSyntax(
"CreateProblemAction",
"Problem");
593 registerSyntax(
"DynamicObjectRegistrationAction",
"Problem");
595 registerSyntax(
"SetupMeshAction",
"Mesh");
596 registerSyntax(
"SetupMeshCompleteAction",
"Mesh");
598 registerSyntax(
"CreateMeshSetupActionsForComponents",
"ActionComponents");
599 registerSyntax(
"CreateDisplacedProblemAction",
"Mesh");
600 registerSyntax(
"DisplayGhostingAction",
"Mesh");
601 registerSyntax(
"AddMeshGeneratorAction",
"Mesh/*");
602 registerSyntaxTask(
"EmptyAction",
"Mesh/BatchMeshGeneratorAction",
"no_action");
603 registerSyntax(
"BatchMeshGeneratorAction",
"Mesh/BatchMeshGeneratorAction/*");
604 registerSyntax(
"ElementIDOutputAction",
"Mesh");
607 registerSyntax(
"AddFunctionAction",
"Functions/*");
610 registerSyntax(
"AddMeshDivisionAction",
"MeshDivisions/*");
612 registerSyntax(
"AddConvergenceAction",
"Convergence/*");
615 registerSyntax(
"GlobalParamsAction",
"GlobalParams");
617 registerSyntax(
"AddDistributionAction",
"Distributions/*");
620 registerSyntax(
"AddSamplerAction",
"Samplers/*");
623 registerSyntax(
"SetupDebugAction",
"Debug");
624 registerSyntax(
"SetupResidualDebugAction",
"Debug");
627 registerSyntax(
"AddVariableAction",
"Variables/*");
631 registerSyntax(
"AddICAction",
"Variables/*/InitialCondition");
632 registerSyntax(
"AddFVICAction",
"Variables/*/FVInitialCondition");
634 registerSyntax(
"AddAuxVariableAction",
"AuxVariables/*");
638 registerSyntax(
"AddICAction",
"AuxVariables/*/InitialCondition");
639 registerSyntax(
"AddFVICAction",
"AuxVariables/*/FVInitialCondition");
641 registerSyntaxTask(
"EmptyAction",
"BCs/Periodic",
"no_action");
642 registerSyntax(
"AddPeriodicBCAction",
"BCs/Periodic/*");
644 registerSyntaxTask(
"AddInitialConditionAction",
"ICs/*",
"add_ic");
645 registerSyntaxTask(
"AddFVInitialConditionAction",
"FVICs/*",
"add_fv_ic");
647 registerSyntax(
"AddMaterialAction",
"Materials/*");
650 registerSyntax(
"AddFunctorMaterialAction",
"FunctorMaterials/*");
653 registerSyntax(
"AddPostprocessorAction",
"Postprocessors/*");
657 registerSyntax(
"AddVectorPostprocessorAction",
"VectorPostprocessors/*");
660 registerSyntax(
"AddReporterAction",
"Reporters/*");
663 registerSyntax(
"AddPositionsAction",
"Positions/*");
666 registerSyntax(
"AddTimesAction",
"Times/*");
669 registerSyntax(
"AddDamperAction",
"Dampers/*");
671 registerSyntax(
"AddOutputAction",
"Outputs/*");
672 registerSyntax(
"CommonOutputAction",
"Outputs");
673 registerSyntax(
"MaterialOutputAction",
"Outputs");
674 registerSyntax(
"AutoCheckpointAction",
"Outputs");
678 registerSyntax(
"SetupPreconditionerAction",
"Preconditioning/*");
679 registerSyntax(
"AddFieldSplitAction",
"Preconditioning/*/*");
681 registerSyntax(
"CreateExecutionerAction",
"Executioner");
682 registerSyntax(
"ReadExecutorParamsAction",
"Executors/*");
684 registerSyntaxTask(
"AddTimeStepperAction",
"Executioner/TimeSteppers/*",
"add_time_steppers");
685 registerSyntaxTask(
"AddTimeStepperAction",
"Executioner/TimeStepper",
"add_time_stepper");
687 "ComposeTimeStepperAction",
"Executioner/TimeSteppers",
"compose_time_stepper");
689 "SetupTimeIntegratorAction",
"Executioner/TimeIntegrators/*",
"setup_time_integrators");
691 "SetupTimeIntegratorAction",
"Executioner/TimeIntegrator",
"setup_time_integrator");
694 registerSyntax(
"SetupQuadratureAction",
"Executioner/Quadrature");
695 registerSyntax(
"SetupPredictorAction",
"Executioner/Predictor");
696 #ifdef LIBMESH_ENABLE_AMR 697 registerSyntax(
"AdaptivityAction",
"Executioner/Adaptivity");
700 registerSyntax(
"PartitionerAction",
"Mesh/Partitioner");
702 registerSyntax(
"AddDiracKernelAction",
"DiracKernels/*");
704 registerSyntax(
"AddDGKernelAction",
"DGKernels/*");
705 registerSyntax(
"AddFVKernelAction",
"FVKernels/*");
706 registerSyntax(
"AddFVBCAction",
"FVBCs/*");
707 registerSyntax(
"AddLinearFVBCAction",
"LinearFVBCs/*");
708 registerSyntax(
"AddFVInterfaceKernelAction",
"FVInterfaceKernels/*");
709 registerSyntax(
"CheckFVBCAction",
"FVBCs");
711 registerSyntax(
"AddLinearFVKernelAction",
"LinearFVKernels/*");
713 registerSyntax(
"AddInterfaceKernelAction",
"InterfaceKernels/*");
715 registerSyntax(
"AddConstraintAction",
"Constraints/*");
717 registerSyntax(
"AddControlAction",
"Controls/*");
718 registerSyntax(
"AddChainControlAction",
"ChainControls/*");
719 registerSyntax(
"AddBoundAction",
"Bounds/*");
720 registerSyntax(
"AddBoundsVectorsAction",
"Bounds");
723 registerSyntax(
"AddUserObjectAction",
"UserObjects/*");
726 registerSyntax(
"AddCorrectorAction",
"Correctors/*");
729 registerSyntax(
"AddMeshModifiersAction",
"MeshModifiers/*");
732 registerSyntax(
"AddNodalNormalsAction",
"NodalNormals");
735 registerSyntax(
"AddFVInterpolationMethodAction",
"FVInterpolationMethods/*");
739 registerSyntax(
"AddElementalFieldAction",
"Adaptivity/Indicators/*");
740 registerSyntax(
"AddIndicatorAction",
"Adaptivity/Indicators/*");
744 registerSyntax(
"AddElementalFieldAction",
"Adaptivity/Markers/*");
745 registerSyntax(
"AddMarkerAction",
"Adaptivity/Markers/*");
749 registerSyntax(
"SetAdaptivityOptionsAction",
"Adaptivity");
752 registerSyntax(
"DeprecatedBlockAction",
"DeprecatedBlock");
755 registerSyntax(
"AddMultiAppAction",
"MultiApps/*");
759 registerSyntax(
"AddTransferAction",
"Transfers/*");
762 registerSyntaxTask(
"EmptyAction",
"Debug/MaterialDerivativeTest",
"no_action");
763 registerSyntax(
"MaterialDerivativeTestAction",
"Debug/MaterialDerivativeTest/*");
765 registerSyntax(
"ProjectedStatefulMaterialStorageAction",
"ProjectedStatefulMaterialStorage/*");
768 registerSyntax(
"CreateApplicationBlockAction",
"Application");
770 #ifdef MOOSE_MFEM_ENABLED 771 registerSyntaxTask(
"AddMFEMSubMeshAction",
"SubMeshes/*",
"add_mfem_submeshes");
772 registerSyntaxTask(
"AddMFEMFESpaceAction",
"FESpaces/*",
"add_mfem_fespaces");
774 "AddMFEMComplexKernelComponentAction",
"Kernels/*/*",
"add_mfem_complex_kernel_components");
776 "AddMFEMComplexBCComponentAction",
"BCs/*/*",
"add_mfem_complex_bc_components");
777 registerSyntaxTask(
"AddMFEMPreconditionerAction",
"Preconditioner/*",
"add_mfem_preconditioner");
778 registerSyntaxTask(
"AddMFEMSolverAction",
"Solvers/*",
"add_mfem_solver");
782 registerSyntax(
"NEML2ActionCommon",
"NEML2");
783 registerSyntax(
"NEML2Action",
"NEML2/*");
805 MPI_Comm old_comm = PETSC_COMM_WORLD;
806 PETSC_COMM_WORLD = new_comm;
854 if (node.filename() ==
"CLI_ARGS")
855 return "CLI_ARGS:\n";
858 return node.filename() +
":\n";
859 return node.fileLocation() +
":\n";
const ExecFlagType EXEC_LINEAR_CONVERGENCE
Base class for function objects.
A kernel for hybridized finite element formulations.
Base class for boundary conditions for linear FV systems.
bool colorConsole()
Returns whether Console coloring is turned on (default: true).
Base class for split-based preconditioners.
Base class for finite volume kernels that contribute to a linear systems.
MPI_Comm swapLibMeshComm(MPI_Comm new_comm)
Swap the libMesh MPI communicator out for ours.
const ExecFlagType EXEC_PRE_KERNELS
Generic factory class for build all sorts of objects.
void setSolverDefaults(FEProblemBase &problem)
This is the base class for Samplers as used within the Stochastic Tools module.
Base class for predictors.
void petscSetDefaults(FEProblemBase &problem)
Sets the default options for PETSc.
Base class for creating new types of boundary conditions.
bool _warnings_are_errors
Variable to toggle any warning into an error (includes deprecated code warnings)
~ScopedDeprecatedIsError()
Destructor, which sets Moose::_deprecated_is_error to what it was upon construction.
InterfaceKernel and VectorInterfaceKernel is responsible for interfacing physics across subdomains...
static void addAppCitation(const std::string &app_name, const std::string &key, const std::string &bibtex)
Register a citation (the full BibTeX bibtex text, identified by key) tied to the app app_name; emitte...
void registerActions(Syntax &syntax, ActionFactory &action_factory)
Multiple Action class can be associated with a single input file section, in which case all associate...
This is a template class that implements the workhorse compute and computeNodal methods.
Base class for all Constraint types.
const ExecFlagType EXEC_PRE_MULTIAPP_SETUP
Positions objects are under the hood Reporters.
Class that hold the whole problem being solved.
const bool _throw_on_error_before
The value of Moose::_throw_on_error at construction.
ScopedDeprecatedIsError()
Default constructor, which sets Moose::_deprecated_is_error = true.
Base class for time stepping.
Times objects are under the hood Reporters, but limited to a vector of Real.
void associateSyntax(Syntax &syntax, ActionFactory &action_factory)
const bool _deprecated_is_error_before
The value of Moose::_throw_on_error at construction.
static void registerObjectsTo(Factory &f, const std::set< std::string > &labels)
This registers all MooseObjects known to the registry that have the given label(s) with the factory f...
const ExecFlagType EXEC_POST_ADAPTIVITY
Registered base class for linear FV interpolation objects.
All Distributions should inherit from this class.
Class to transfer MFEM variable data to or from a restricted copy of the variable defined on an a sub...
Base class for MeshDivision objects.
Reporter objects allow for the declaration of arbitrary data types that are aggregate values for a si...
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Base class for MOOSE preconditioners.
Based class for output objects.
ScopedThrowOnError()
Default constructor, which sets Moose::_throw_on_error = true.
FunctorMaterials compute functor material properties.
const ExecFlagType EXEC_ALWAYS
static void registerActionsTo(ActionFactory &f, const std::set< std::string > &labels)
This registers all Actions known to the registry that have the given label(s) with the factory f...
Base class for convergence criteria.
The DGKernel class is responsible for calculating the residuals for various physics on internal sides...
bool _deprecated_is_error
Variable to toggle only deprecated warnings as errors.
static bool _color_console
Base class for making kernels that work on auxiliary scalar variables.
const ExecFlagType EXEC_MULTIAPP_FIXED_POINT_ITERATION_END
Base class for construction of a mfem::ParSubMesh object.
const ExecFlagType EXEC_TRANSFER
~ScopedThrowOnError()
Destructor, which sets Moose::_throw_on_error to what it was upon construction.
Base class for array variable (equation) kernels using automatic differentiation. ...
Specialized factory for generic Action System objects.
Base class for creating kernels that interface physics between subdomains.
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
const ExecFlagType EXEC_LINEAR
const ExecFlagType EXEC_FAILED
const ExecFlagType EXEC_NONLINEAR
Executioners are objects that do the actual work of solving your problem.
void mooseDeprecated(Args &&... args)
Emit a deprecated code/feature message with the given stringified, concatenated args.
Base class for all Postprocessors.
The behavior of this kernel is controlled by one problem-wise global parameter eigen_on_current - boo...
const ExecFlagType EXEC_MULTIAPP_FIXED_POINT_BEGIN
const ExecFlagType EXEC_TIMESTEP_END
InitialConditions are objects that set the initial value of variables.
A DiracKernel is used when you need to add contributions to the residual by means of multiplying some...
Constructs and stores an mfem::ParFiniteElementSpace object.
void addDependencySets(const std::string &action_sets)
Adds all dependencies in a single call.
Base class for wrapping mfem::Solver-derived classes.
FVKernel is a base class for all finite volume method kernels.
Base class for creating new types of boundary conditions.
Base class for time integrators.
bool show_multiple
Set to false (the default) to display an error message only once for each error call code location (a...
Class for containing MooseEnum item information.
Base class for Control objects.
bool _throw_on_warning
Variable to turn on exceptions during mooseWarning(), should only be used in MOOSE unit tests...
void registerSyntaxType(const std::string &syntax, const std::string &type)
Register a type with a block.
void registerAll(Factory &f, ActionFactory &af, Syntax &s)
Register objects that are in MOOSE.
void registerObjects(Factory &factory, const std::set< std::string > &obj_labels)
Base class for MOOSE partitioner.
bool setColorConsole(bool use_color, bool force=false)
Turns color escape sequences on/off for info written to stdout.
Base class for deriving dampers.
Scoped helper for setting Moose::_throw_on_error during this scope.
Holding syntax for parsing input files.
const ExecFlagType EXEC_MULTIAPP_FIXED_POINT_END
const ExecFlagType EXEC_CUSTOM
const ExecFlagType EXEC_SUBDOMAIN
int interrupt_signal_number
Used by the signal handler to determine if we should write a checkpoint file out at any point during ...
const ExecFlagType EXEC_TIMESTEP_BEGIN
const ExecFlagType EXEC_POSTCHECK
const ExecFlagType EXEC_FORCED
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
const ExecFlagType EXEC_SAME_AS_MULTIAPP
const ExecFlagType EXEC_FINAL
const ExecFlagType EXEC_INITIAL
const ExecFlagType EXEC_NONE
Base class for creating nodal kernels with hand-coded Jacobians.
A MultiApp represents one or more MOOSE applications that are running simultaneously.
std::string hitMessagePrefix(const hit::Node &node)
Get the prefix to be associated with a hit node for a message.
Base class for Postprocessors that produce a vector of values.
bool _throw_on_error
Variable to turn on exceptions during mooseError(), should only be used within MOOSE unit tests or wh...
MaterialBases compute MaterialProperties.
Scoped helper for setting Moose::_deprecated_is_error during this scope.
MeshGenerators are objects that can modify or add to an existing mesh.
This is a template class that implements the workhorse compute and computeNodal methods.
Base class for user-specific data.
void addActionTypes(Syntax &syntax)
The Executor class directs the execution flow of simulations.
const ExecFlagType EXEC_NONLINEAR_CONVERGENCE
void associateSyntaxInner(Syntax &syntax, ActionFactory &action_factory)
Control that additionally provides the capability to produce/consume data values, to allow control op...
const ExecFlagType EXEC_MULTIAPP_FIXED_POINT_CONVERGENCE
Base class for all Transfer objects.
const ExecFlagType EXEC_PRE_DISPLACE