10#include "libmesh/petsc_macro.h"
11#include "libmesh/libmesh_config.h"
40 registerExecFlag(
"MULTIAPP_FIXED_POINT_ITERATION_END");
42 registerDefaultExecFlag(
"MULTIAPP_FIXED_POINT_END");
44 registerDefaultExecFlag(
"MULTIAPP_FIXED_POINT_BEGIN");
46 registerDefaultExecFlag(
"MULTIAPP_FIXED_POINT_CONVERGENCE");
48 registerDefaultExecFlag(
"MULTISYSTEM_FIXED_POINT_ITERATION_END");
60#ifdef LIBMESH_ENABLE_AMR
81 registerAppDataFilePath(
"moose");
82 registerRepository(
"moose",
"github.com/idaholab/moose");
91 R
"(@article{harbour2025moose,
92 title = {4.0 {MOOSE}: Enabling massively parallel Multiphysics simulation},
93 journal = {{SoftwareX}},
98 doi = {https://doi.org/10.1016/j.softx.2025.102264},
99 url = {https://www.sciencedirect.com/science/article/pii/S2352711025002316},
100 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},
108 R
"(@article{libMeshPaper,
109 author = {B.~S.~Kirk and J.~W.~Peterson and R.~H.~Stogner and G.~F.~Carey},
110 title = {{\texttt{libMesh}: A C++ Library for Parallel Adaptive Mesh
111 Refinement/Coarsening Simulations}},
112 journal = {Engineering with Computers},
117 url={http://dx.doi.org/10.1007/s00366-006-0049-3}
120#ifdef MOOSE_MFEM_ENABLED
125 R
"(@article{mfem-2024,
126 title = {High-Performance Finite Elements with {MFEM}},
127 author = {J. Andrej and N. Atallah and J.-P. B{\"a}cker and J.-S. Camier and D. Copeland and V. Dobrev and Y. Dudouit and T. Duswald and B. Keith and D. Kim and T. Kolev and B. Lazarov and K. Mittal and W. Pazner and S. Petrides and S. Shiraiwa and M. Stowell and V. Tomov},
128 journal = {The International Journal of High Performance Computing Applications},
133 publisher = {SAGE Publications Sage UK: London, England},
163 registerMooseObjectTask(
"create_problem",
Problem,
false);
164 registerMooseObjectTask(
"setup_executioner",
Executioner,
false);
165 registerMooseObjectTask(
"read_executor",
Executor,
false);
166 registerTask(
"add_executor",
true);
169 registerTask(
"init_physics",
false);
170 registerTask(
"init_component_physics",
false);
171 registerTask(
"meta_action_component",
false);
172 registerTask(
"setup_component",
false);
174 registerTask(
"list_component",
false);
178 registerMooseObjectTask(
"determine_system_type",
Executioner,
true);
180 registerMooseObjectTask(
"setup_mesh",
MooseMesh,
false);
181 registerMooseObjectTask(
"set_mesh_base",
MooseMesh,
false);
182 registerMooseObjectTask(
"init_mesh",
MooseMesh,
false);
183 registerMooseObjectTask(
"add_mesh_generator",
MeshGenerator,
false);
184 registerTask(
"create_added_mesh_generators",
true);
185 registerMooseObjectTask(
"append_mesh_generator",
MeshGenerator,
false);
187 registerMooseObjectTask(
"add_kernel",
Kernel,
false);
195 registerMooseObjectTask(
"add_elemental_field_variable",
MooseVariableBase,
false);
198 registerMooseObjectTask(
"add_nodal_kernel",
NodalKernel,
false);
200 registerMooseObjectTask(
"add_functor_material",
FunctorMaterial,
false);
201 registerMooseObjectTask(
"add_material",
MaterialBase,
false);
203 registerMooseObjectTask(
"add_materials_physics",
FunctorMaterial,
false);
204 appendMooseObjectTask (
"add_materials_physics",
MaterialBase);
208 registerMooseObjectTask(
"add_function",
Function,
false);
210 registerMooseObjectTask(
"add_distribution",
Distribution,
false);
211 registerMooseObjectTask(
"add_sampler",
Sampler,
false);
213 registerMooseObjectTask(
"add_aux_kernel",
AuxKernel,
false);
217 registerMooseObjectTask(
"add_bound", Bounds,
false);
219 registerMooseObjectTask(
"add_scalar_kernel",
ScalarKernel,
false);
220 registerMooseObjectTask(
"add_aux_scalar_kernel",
AuxScalarKernel,
false);
221 registerMooseObjectTask(
"add_dirac_kernel",
DiracKernel,
false);
223 registerMooseObjectTask(
"add_dg_kernel",
DGKernel,
false);
224 registerMooseObjectTask(
"add_fv_kernel",
FVKernel,
false);
228 registerMooseObjectTask(
"add_linear_fv_kernel",
LinearFVKernel,
false);
232 registerMooseObjectTask(
"add_interface_kernel",
InterfaceKernel,
false);
234 registerMooseObjectTask(
"add_constraint",
Constraint,
false);
235 registerMooseObjectTask(
"add_hybridized_kernel",
HDGKernel,
false);
236 registerMooseObjectTask(
"add_hybridized_integrated_bc", HDGIntegratedBC,
false);
245 registerMooseObjectTask(
"add_damper",
Damper,
false);
246 registerMooseObjectTask(
"setup_predictor",
Predictor,
false);
247 registerMooseObjectTask(
"add_time_steppers",
TimeStepper,
false);
248 registerMooseObjectTask(
"add_time_stepper",
TimeStepper,
false);
249 registerTask (
"compose_time_stepper",
true);
250 registerMooseObjectTask(
"setup_time_integrators",
TimeIntegrator,
false);
251 registerMooseObjectTask(
"setup_time_integrator",
TimeIntegrator,
false);
252 registerMooseObjectTask(
"add_convergence",
Convergence,
false);
255 registerMooseObjectTask(
"add_field_split",
Split,
false);
257 registerMooseObjectTask(
"add_mesh_division",
MeshDivision,
false);
258 registerMooseObjectTask(
"add_user_object",
UserObject,
false);
261 appendDeprecatedMooseObjectTask(
"add_user_object", Corrector);
262 registerMooseObjectTask(
"add_corrector", Corrector,
false);
263 appendDeprecatedMooseObjectTask(
"add_user_object", MeshModifier);
264 registerMooseObjectTask(
"add_mesh_modifier", MeshModifier,
false);
266 registerMooseObjectTask(
"add_postprocessor",
Postprocessor,
false);
268 registerMooseObjectTask(
"add_reporter",
Reporter,
false);
270 registerMooseObjectTask(
"add_positions",
Positions,
false);
271 registerMooseObjectTask(
"add_times",
Times,
false);
273 registerMooseObjectTask(
"add_indicator",
Indicator,
false);
274 registerMooseObjectTask(
"add_marker",
Marker,
false);
276 registerMooseObjectTask(
"add_multi_app",
MultiApp,
false);
277 registerMooseObjectTask(
"add_transfer",
Transfer,
false);
279 registerMooseObjectTask(
"add_output",
Output,
false);
281 registerMooseObjectTask(
"add_control",
Control,
false);
282 registerMooseObjectTask(
"add_chain_control",
ChainControl,
false);
287 registerTask(
"dynamic_object_registration",
false);
288 registerTask(
"common_output",
true);
289 registerTask(
"setup_recover_file_base",
true);
290 registerTask(
"recover_meta_data",
true);
292 registerTask(
"add_bounds_vectors",
false);
293 registerTask(
"add_periodic_bc",
false);
294 registerTask(
"add_aux_variable",
false);
295 registerTask(
"add_external_aux_variables",
true);
296 registerTask(
"add_variable",
false);
297 registerTask(
"add_mortar_variable",
false);
299 registerTask(
"execute_mesh_generators",
true);
300 registerTask(
"uniform_refine_mesh",
false);
301 registerTask(
"prepare_mesh",
false);
302 registerTask(
"delete_remote_elements_after_late_geometric_ghosting",
false);
303 registerTask(
"setup_mesh_complete",
true);
304 registerTask(
"post_mesh_prepared",
false);
305 registerTask(
"add_geometric_rm",
false);
306 registerTask(
"attach_geometric_rm",
true);
307 registerTask(
"attach_geometric_rm_final",
true);
309 registerTask(
"init_displaced_problem",
false);
311 registerTask(
"add_algebraic_rm",
false);
312 registerTask(
"attach_algebraic_rm",
true);
313 registerTask(
"add_coupling_rm",
false);
314 registerTask(
"attach_coupling_rm",
true);
315 registerTask(
"init_problem",
true);
316 registerTask(
"check_copy_nodal_vars",
true);
317 registerTask(
"copy_nodal_vars",
true);
318 registerTask(
"copy_nodal_aux_vars",
true);
319 registerTask(
"copy_vars_physics",
false);
320 registerTask(
"setup_postprocessor_data",
false);
321 registerTask(
"setup_time_steppers",
true);
323 registerTask(
"setup_dampers",
true);
324 registerTask(
"check_integrity",
true);
325 registerTask(
"resolve_optional_materials",
true);
326 registerTask(
"check_integrity_early",
true);
327 registerTask(
"check_integrity_early_physics",
false);
328 registerTask(
"setup_quadrature",
true);
329 registerTask(
"create_tagged_matrices",
true);
331 registerTask(
"mesh_modifiers",
false);
334 registerTask(
"no_action",
false);
335 registerTask(
"set_global_params",
false);
336 registerTask(
"setup_adaptivity",
false);
337 registerTask(
"meta_action",
false);
338 registerTask(
"setup_residual_debug",
false);
339 registerTask(
"setup_oversampling",
false);
340 registerTask(
"deprecated_block",
false);
341 registerTask(
"set_adaptivity_options",
false);
342 registerTask(
"add_mortar_interface",
false);
343 registerTask(
"coupling_functor_check",
true);
344 registerTask(
"add_master_action_material",
false);
345 registerTask(
"setup_projected_properties",
false);
346 registerTask(
"create_application_block",
false);
349 registerTask(
"setup_function_complete",
false);
350 registerTask(
"setup_variable_complete",
false);
351 registerTask(
"setup_executioner_complete",
false);
352 registerTask(
"ready_to_init",
true);
355 registerTask(
"add_output_aux_variables",
true);
356 registerTask(
"check_output",
true);
357 registerTask(
"declare_late_reporters",
true);
359 registerTask(
"create_problem_default",
true);
360 registerTask(
"create_problem_custom",
false);
361 registerTask(
"create_problem_complete",
false);
363 registerTask(
"add_default_nonlinear_convergence",
true);
364 registerTask(
"add_default_multiapp_fixed_point_convergence",
true);
365 registerTask(
"add_default_steady_state_convergence",
true);
367 registerTask(
"chain_control_setup",
true);
368 registerTask(
"start_webservercontrol",
true);
371 registerTask(
"auto_checkpoint_action",
true);
387 "(meta_action_component)"
388 "(dynamic_object_registration)"
390 "(set_global_params)"
391 "(setup_recover_file_base)"
392 "(check_copy_nodal_vars)"
396 "(add_mesh_generator)"
397 "(create_added_mesh_generators)"
398 "(append_mesh_generator)"
399 "(execute_mesh_generators)"
400 "(recover_meta_data)"
402 "(attach_geometric_rm)"
405 "(add_mortar_interface)"
406 "(uniform_refine_mesh)"
407 "(setup_mesh_complete)"
408 "(post_mesh_prepared)"
409 "(determine_system_type)"
411 "(create_problem_custom)"
412 "(create_problem_default)"
413 "(create_problem_complete)"
414 "(init_displaced_problem)"
417 "(init_component_physics)"
419 "(setup_postprocessor_data)"
420 "(setup_time_integrator, setup_time_integrators)"
421 "(setup_executioner)"
422 "(setup_executioner_complete)"
426 "(check_integrity_early)"
428 "(add_aux_variable, add_variable, add_elemental_field_variable,"
429 " add_external_aux_variables)"
430 "(add_variables_physics)"
431 "(add_mortar_variable)"
432 "(setup_variable_complete)"
433 "(check_integrity_early_physics)"
436 "(add_default_nonlinear_convergence,"
437 " add_default_multiapp_fixed_point_convergence,"
438 " add_default_steady_state_convergence)"
441 "(add_gradient_method)"
442 "(add_user_object, add_corrector, add_mesh_modifier)"
444 "(add_preconditioning)"
445 "(create_tagged_matrices)"
448 "(setup_function_complete)"
450 "(set_adaptivity_options)"
451 "(add_ic, add_fv_ic)"
455 "(add_time_stepper, add_time_steppers)"
456 "(compose_time_stepper)"
457 "(setup_time_steppers)"
460 "(setup_residual_debug)"
461 "(add_bounds_vectors)"
462 "(add_mesh_division)"
465 "(copy_nodal_vars, copy_nodal_aux_vars, copy_vars_physics)"
467 "(add_master_action_material)"
468 "(add_functor_material)"
469 "(add_materials_physics)"
470 "(setup_projected_properties)"
471 "(add_output_aux_variables)"
473 "(auto_checkpoint_action)"
474 "(add_postprocessor)"
475 "(add_vector_postprocessor)"
478 "(declare_late_reporters)"
479 "(add_aux_kernel, add_bc, add_damper, add_dirac_kernel, add_kernel,"
480 " add_nodal_kernel, add_dg_kernel, add_fv_kernel, add_interpolation_method,"
481 " add_interpolation_method_physics, add_linear_fv_kernel,"
482 " add_fv_bc, add_linear_fv_bc, add_fv_ik, add_interface_kernel,"
483 " add_scalar_kernel, add_aux_scalar_kernel, add_indicator, add_marker,"
484 " add_bound, add_hybridized_kernel, add_hybridized_integrated_bc)"
485 "(resolve_optional_materials)"
488 "(attach_geometric_rm_final)"
489 "(attach_algebraic_rm)"
490 "(attach_coupling_rm)"
491 "(coupling_functor_check)"
492 "(delete_remote_elements_after_late_geometric_ghosting)"
494 "(add_control, add_chain_control)"
495 "(chain_control_setup)"
496 "(start_webservercontrol)"
499 "(create_application_block)");
502#ifdef MOOSE_MFEM_ENABLED
504 registerMooseObjectTask(
"add_mfem_submeshes",
MFEMSubMesh,
false);
505 addTaskDependency(
"add_mfem_submeshes",
"create_problem_complete");
511 registerMooseObjectTask(
"add_mfem_fespaces",
MFEMFESpace,
false);
512 appendMooseObjectTask(
"add_mfem_fespaces", MFEMFECollection);
513 addTaskDependency(
"add_mfem_fespaces",
"add_mfem_submeshes");
517 addTaskDependency(
"add_mfem_fespace_hierarchies",
"add_mfem_fespaces");
521 addTaskDependency(
"add_variable",
"add_mfem_fespace_hierarchies");
522 addTaskDependency(
"add_aux_variable",
"add_mfem_fespace_hierarchies");
523 addTaskDependency(
"add_elemental_field_variable",
"add_mfem_fespace_hierarchies");
525 addTaskDependency(
"add_kernel",
"add_mfem_fespaces");
528 registerMooseObjectTask(
"add_mfem_complex_kernel_components",
Kernel,
false);
529 registerMooseObjectTask(
"add_mfem_complex_bc_components",
BoundaryCondition,
false);
530 addTaskDependency(
"add_mfem_complex_kernel_components",
"add_mfem_fespaces");
531 addTaskDependency(
"add_mfem_complex_bc_components",
"add_mfem_fespaces");
532 addTaskDependency(
"add_mfem_complex_kernel_components",
"add_kernel");
533 addTaskDependency(
"add_mfem_complex_bc_components",
"add_bc");
536 registerTask(
"set_mesh_fe_space",
true);
537 addTaskDependency(
"set_mesh_fe_space",
"add_variable");
538 addTaskDependency(
"set_mesh_fe_space",
"init_mesh");
542 addTaskDependency(
"add_mfem_weak_forms",
"init_mesh");
543 addTaskDependency(
"add_mfem_weak_forms",
"add_variable");
544 addTaskDependency(
"add_mfem_weak_forms",
"add_aux_variable");
545 addTaskDependency(
"add_mfem_weak_forms",
"add_elemental_field_variable");
546 addTaskDependency(
"add_mfem_weak_forms",
"add_kernel");
547 addTaskDependency(
"add_mfem_weak_forms",
"add_bc");
548 addTaskDependency(
"add_mfem_weak_forms",
"add_mfem_complex_kernel_components");
549 addTaskDependency(
"add_mfem_weak_forms",
"add_mfem_complex_bc_components");
550 addTaskDependency(
"add_mfem_weak_forms",
"add_mfem_fespace_hierarchies");
553 registerTask(
"set_mfem_equation_systems",
true);
554 addTaskDependency(
"set_mfem_equation_systems",
"add_mfem_weak_forms");
558 addTaskDependency(
"add_mfem_solver",
"set_mfem_equation_systems");
561 registerTask(
"resolve_mfem_solvers",
true);
562 addTaskDependency(
"resolve_mfem_solvers",
"add_mfem_solver");
565 addTaskDependency(
"add_marker",
"add_indicator");
569 addTaskDependency(
"add_mfem_problem_composer",
"set_mfem_equation_systems");
570 addTaskDependency(
"add_mfem_problem_composer",
"resolve_mfem_solvers");
573 registerTask(
"set_mfem_problem_operators",
true);
574 addTaskDependency(
"set_mfem_problem_operators",
"add_mfem_problem_composer");
576 addTaskDependency(
"init_problem",
"set_mfem_problem_operators");
582 addTaskDependency(
"add_interpolation_method_physics",
"add_interpolation_method");
583 addTaskDependency(
"add_fv_kernel",
"add_interpolation_method_physics");
584 addTaskDependency(
"add_linear_fv_kernel",
"add_interpolation_method_physics");
585 addTaskDependency(
"add_fv_kernel",
"add_interpolation_method");
586 addTaskDependency(
"add_linear_fv_kernel",
"add_interpolation_method");
588 addTaskDependency(
"add_user_object",
"add_gradient_method");
589 addTaskDependency(
"add_linear_fv_kernel",
"add_gradient_method");
590 addTaskDependency(
"add_linear_fv_bc",
"add_gradient_method");
592 registerTask(
"parse_neml2",
false);
593 addTaskDependency(
"add_material",
"parse_neml2");
594 addTaskDependency(
"add_user_object",
"parse_neml2");
635 const std::set<std::string> & obj_labels)
640 registerTask(
"dump_objects",
false);
641 registerTask(
"finish_input_file_output",
false);
652 registerSyntax(
"DiffusionCG",
"Physics/Diffusion/ContinuousGalerkin/*");
653 registerSyntax(
"DiffusionFV",
"Physics/Diffusion/FiniteVolume/*");
655 registerSyntax(
"AddActionComponentAction",
"ActionComponents/*");
656 registerSyntax(
"CombineComponentsMeshes",
"ActionComponents");
658 registerSyntaxTask(
"CopyNodalVarsAction",
"Variables/*",
"check_copy_nodal_vars");
659 registerSyntaxTask(
"CopyNodalVarsAction",
"Variables/*",
"copy_nodal_vars");
660 registerSyntaxTask(
"CopyNodalVarsAction",
"AuxVariables/*",
"check_copy_nodal_vars");
661 registerSyntaxTask(
"CopyNodalVarsAction",
"AuxVariables/*",
"copy_nodal_aux_vars");
663 registerSyntaxTask(
"AddKernelAction",
"Kernels/*",
"add_kernel");
664 registerSyntaxTask(
"AddNodalKernelAction",
"NodalKernels/*",
"add_nodal_kernel");
665 registerSyntaxTask(
"AddKernelAction",
"AuxKernels/*",
"add_aux_kernel");
667 registerSyntaxTask(
"AddHDGKernelAction",
"HDGKernels/*",
"add_hybridized_kernel");
669 registerSyntax(
"AddAuxKernelAction",
"AuxVariables/*/AuxKernel");
671 registerSyntaxTask(
"AddScalarKernelAction",
"ScalarKernels/*",
"add_scalar_kernel");
672 registerSyntaxTask(
"AddScalarKernelAction",
"AuxScalarKernels/*",
"add_aux_scalar_kernel");
674 registerSyntaxTask(
"AddBCAction",
"BCs/*",
"add_bc");
676 registerSyntax(
"CreateProblemAction",
"Problem");
677 registerSyntax(
"DynamicObjectRegistrationAction",
"Problem");
679 registerSyntax(
"SetupMeshAction",
"Mesh");
680 registerSyntax(
"SetupMeshCompleteAction",
"Mesh");
682 registerSyntax(
"CreateMeshSetupActionsForComponents",
"ActionComponents");
683 registerSyntax(
"CreateDisplacedProblemAction",
"Mesh");
684 registerSyntax(
"DisplayGhostingAction",
"Mesh");
685 registerSyntax(
"AddMeshGeneratorAction",
"Mesh/*");
686 registerSyntaxTask(
"EmptyAction",
"Mesh/BatchMeshGeneratorAction",
"no_action");
687 registerSyntax(
"BatchMeshGeneratorAction",
"Mesh/BatchMeshGeneratorAction/*");
688 registerSyntax(
"ElementIDOutputAction",
"Mesh");
691 registerSyntax(
"AddFunctionAction",
"Functions/*");
694 registerSyntax(
"AddMeshDivisionAction",
"MeshDivisions/*");
696 registerSyntax(
"AddConvergenceAction",
"Convergence/*");
699 registerSyntax(
"GlobalParamsAction",
"GlobalParams");
701 registerSyntax(
"AddDistributionAction",
"Distributions/*");
704 registerSyntax(
"AddSamplerAction",
"Samplers/*");
707 registerSyntax(
"SetupDebugAction",
"Debug");
708 registerSyntax(
"SetupResidualDebugAction",
"Debug");
711 registerSyntax(
"AddVariableAction",
"Variables/*");
715 registerSyntax(
"AddICAction",
"Variables/*/InitialCondition");
716 registerSyntax(
"AddFVICAction",
"Variables/*/FVInitialCondition");
718 registerSyntax(
"AddAuxVariableAction",
"AuxVariables/*");
722 registerSyntax(
"AddICAction",
"AuxVariables/*/InitialCondition");
723 registerSyntax(
"AddFVICAction",
"AuxVariables/*/FVInitialCondition");
725 registerSyntaxTask(
"EmptyAction",
"BCs/Periodic",
"no_action");
726 registerSyntax(
"AddPeriodicBCAction",
"BCs/Periodic/*");
728 registerSyntaxTask(
"AddInitialConditionAction",
"ICs/*",
"add_ic");
729 registerSyntaxTask(
"AddFVInitialConditionAction",
"FVICs/*",
"add_fv_ic");
731 registerSyntax(
"AddMaterialAction",
"Materials/*");
734 registerSyntax(
"AddFunctorMaterialAction",
"FunctorMaterials/*");
737 registerSyntax(
"AddPostprocessorAction",
"Postprocessors/*");
741 registerSyntax(
"AddVectorPostprocessorAction",
"VectorPostprocessors/*");
744 registerSyntax(
"AddReporterAction",
"Reporters/*");
747 registerSyntax(
"AddPositionsAction",
"Positions/*");
750 registerSyntax(
"AddTimesAction",
"Times/*");
753 registerSyntax(
"AddDamperAction",
"Dampers/*");
755 registerSyntax(
"AddOutputAction",
"Outputs/*");
756 registerSyntax(
"CommonOutputAction",
"Outputs");
757 registerSyntax(
"MaterialOutputAction",
"Outputs");
758 registerSyntax(
"AutoCheckpointAction",
"Outputs");
762 registerSyntax(
"SetupPreconditionerAction",
"Preconditioning/*");
763 registerSyntax(
"AddFieldSplitAction",
"Preconditioning/*/*");
765 registerSyntax(
"CreateExecutionerAction",
"Executioner");
766 registerSyntax(
"ReadExecutorParamsAction",
"Executors/*");
768 registerSyntaxTask(
"AddTimeStepperAction",
"Executioner/TimeSteppers/*",
"add_time_steppers");
769 registerSyntaxTask(
"AddTimeStepperAction",
"Executioner/TimeStepper",
"add_time_stepper");
771 "ComposeTimeStepperAction",
"Executioner/TimeSteppers",
"compose_time_stepper");
773 "SetupTimeIntegratorAction",
"Executioner/TimeIntegrators/*",
"setup_time_integrators");
775 "SetupTimeIntegratorAction",
"Executioner/TimeIntegrator",
"setup_time_integrator");
778 registerSyntax(
"SetupQuadratureAction",
"Executioner/Quadrature");
779 registerSyntax(
"SetupPredictorAction",
"Executioner/Predictor");
780#ifdef LIBMESH_ENABLE_AMR
781 registerSyntax(
"AdaptivityAction",
"Executioner/Adaptivity");
784 registerSyntax(
"PartitionerAction",
"Mesh/Partitioner");
786 registerSyntax(
"AddDiracKernelAction",
"DiracKernels/*");
788 registerSyntax(
"AddDGKernelAction",
"DGKernels/*");
789 registerSyntax(
"AddFVKernelAction",
"FVKernels/*");
790 registerSyntax(
"AddFVBCAction",
"FVBCs/*");
791 registerSyntax(
"AddLinearFVBCAction",
"LinearFVBCs/*");
792 registerSyntax(
"AddFVInterfaceKernelAction",
"FVInterfaceKernels/*");
793 registerSyntax(
"CheckFVBCAction",
"FVBCs");
795 registerSyntax(
"AddLinearFVKernelAction",
"LinearFVKernels/*");
797 registerSyntax(
"AddInterfaceKernelAction",
"InterfaceKernels/*");
799 registerSyntax(
"AddConstraintAction",
"Constraints/*");
801 registerSyntax(
"AddControlAction",
"Controls/*");
802 registerSyntax(
"AddChainControlAction",
"ChainControls/*");
803 registerSyntax(
"AddBoundAction",
"Bounds/*");
804 registerSyntax(
"AddBoundsVectorsAction",
"Bounds");
807 registerSyntax(
"AddUserObjectAction",
"UserObjects/*");
810 registerSyntax(
"AddCorrectorAction",
"Correctors/*");
813 registerSyntax(
"AddMeshModifiersAction",
"MeshModifiers/*");
816 registerSyntax(
"AddNodalNormalsAction",
"NodalNormals");
819 registerSyntax(
"AddFVInterpolationMethodAction",
"FVInterpolationMethods/*");
823 registerSyntax(
"AddFVGradientMethodAction",
"FVGradientMethods/*");
827 registerSyntax(
"AddElementalFieldAction",
"Adaptivity/Indicators/*");
828 registerSyntax(
"AddIndicatorAction",
"Adaptivity/Indicators/*");
832 registerSyntax(
"AddElementalFieldAction",
"Adaptivity/Markers/*");
833 registerSyntax(
"AddMarkerAction",
"Adaptivity/Markers/*");
837 registerSyntax(
"SetAdaptivityOptionsAction",
"Adaptivity");
840 registerSyntax(
"DeprecatedBlockAction",
"DeprecatedBlock");
843 registerSyntax(
"AddMultiAppAction",
"MultiApps/*");
847 registerSyntax(
"AddTransferAction",
"Transfers/*");
849 registerSyntax(
"ProjectedStatefulMaterialStorageAction",
"ProjectedStatefulMaterialStorage/*");
852 registerSyntax(
"CreateApplicationBlockAction",
"Application");
854#ifdef MOOSE_MFEM_ENABLED
855 registerSyntaxTask(
"AddMFEMWeakFormAction",
"WeakForms/*",
"add_mfem_weak_forms");
859 registerSyntaxTask(
"AddMFEMSubMeshAction",
"SubMeshes/*",
"add_mfem_submeshes");
860 registerSyntaxTask(
"AddMFEMFESpaceAction",
"FESpaces/*",
"add_mfem_fespaces");
862 "AddMFEMFESpaceHierarchyAction",
"FESpaceHierarchies/*",
"add_mfem_fespace_hierarchies");
864 "AddMFEMComplexKernelComponentAction",
"Kernels/*/*",
"add_mfem_complex_kernel_components");
866 "AddMFEMComplexBCComponentAction",
"BCs/*/*",
"add_mfem_complex_bc_components");
867 registerSyntaxTask(
"AddMFEMSolverAction",
"Solvers/*",
"add_mfem_solver");
870 "AddMFEMProblemComposerAction",
"ProblemComposers/*",
"add_mfem_problem_composer");
873 registerSyntax(
"NEML2ActionCommon",
"NEML2");
874 registerSyntax(
"NEML2Action",
"NEML2/*");
896 MPI_Comm old_comm = PETSC_COMM_WORLD;
897 PETSC_COMM_WORLD = new_comm;
923ScopedThrowOnError::ScopedThrowOnError() : ScopedThrowOnError(true) {}
927ScopedDeprecatedIsError::ScopedDeprecatedIsError(
const bool deprecated_is_error)
934ScopedDeprecatedIsError::ScopedDeprecatedIsError() : ScopedDeprecatedIsError(true) {}
936ScopedDeprecatedIsError::~ScopedDeprecatedIsError()
945 if (node.filename() ==
"CLI_ARGS")
946 return "CLI_ARGS:\n";
949 return node.filename() +
":\n";
950 return node.fileLocation() +
":\n";
void mooseDeprecated(Args &&... args)
Emit a deprecated code/feature message with the given stringified, concatenated args.
const ExecFlagType EXEC_FORCED
const ExecFlagType EXEC_TRANSFER
const ExecFlagType EXEC_PRE_MULTIAPP_SETUP
const ExecFlagType EXEC_MULTIAPP_FIXED_POINT_END
const ExecFlagType EXEC_MULTISYSTEM_FIXED_POINT_ITERATION_END
const ExecFlagType EXEC_MULTIAPP_FIXED_POINT_CONVERGENCE
const ExecFlagType EXEC_SUBDOMAIN
const ExecFlagType EXEC_TIMESTEP_END
const ExecFlagType EXEC_TIMESTEP_BEGIN
const ExecFlagType EXEC_SAME_AS_MULTIAPP
const ExecFlagType EXEC_POSTCHECK
const ExecFlagType EXEC_ALWAYS
const ExecFlagType EXEC_CUSTOM
const ExecFlagType EXEC_MULTIAPP_FIXED_POINT_ITERATION_END
const ExecFlagType EXEC_POST_ADAPTIVITY
const ExecFlagType EXEC_LINEAR_CONVERGENCE
const ExecFlagType EXEC_INITIAL
const ExecFlagType EXEC_MULTIAPP_FIXED_POINT_BEGIN
const ExecFlagType EXEC_LINEAR
const ExecFlagType EXEC_PRE_KERNELS
const ExecFlagType EXEC_NONLINEAR
const ExecFlagType EXEC_FAILED
const ExecFlagType EXEC_NONE
const ExecFlagType EXEC_FINAL
const ExecFlagType EXEC_NONLINEAR_CONVERGENCE
const ExecFlagType EXEC_PRE_DISPLACE
const ExecFlagType EXEC_POSTCHECK
const ExecFlagType EXEC_LINEAR
const ExecFlagType EXEC_NONLINEAR
Base class for array variable (equation) kernels using automatic differentiation.
Specialized factory for generic Action System objects.
Base class for making kernels that work on auxiliary scalar variables.
Base class for creating new types of boundary conditions.
Control that additionally provides the capability to produce/consume data values, to allow control op...
Base class for all Constraint types.
Base class for Control objects.
Base class for convergence criteria.
The DGKernel class is responsible for calculating the residuals for various physics on internal sides...
Base class for deriving dampers.
A DiracKernel is used when you need to add contributions to the residual by means of multiplying some...
All Distributions should inherit from this class.
The behavior of this kernel is controlled by one problem-wise global parameter eigen_on_current - boo...
Executioners are objects that do the actual work of solving your problem.
The Executor class directs the execution flow of simulations.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Base class for creating new types of boundary conditions.
Base class for linear finite-volume cell-gradient methods.
This is a template class that implements the workhorse compute and computeNodal methods.
Base class for creating kernels that interface physics between subdomains.
Registered base class for linear FV interpolation objects.
FVKernel is a base class for all finite volume method kernels.
Generic factory class for build all sorts of objects.
Base class for function objects.
FunctorMaterials compute functor material properties.
Base kernel for hybridized finite element formulations.
This is a template class that implements the workhorse compute and computeNodal methods.
InterfaceKernel and VectorInterfaceKernel is responsible for interfacing physics across subdomains.
Base class for boundary conditions for linear FV systems.
Base class for finite volume kernels that contribute to a linear systems.
Builds and owns a mfem::ParFiniteElementSpaceHierarchy from a base FESpace by applying a sequence of ...
Constructs and stores an mfem::ParFiniteElementSpace object.
Interface required for all MFEMProblemComposers.
Class to transfer MFEM variable data to or from a restricted copy of the variable defined on an a sub...
Base class for construction of a mfem::ParSubMesh object.
MaterialBases compute MaterialProperties.
Base class for MeshDivision objects.
MeshGenerators are objects that can modify or add to an existing mesh.
Class for containing MooseEnum item information.
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Base class for MOOSE partitioner.
Base class for MOOSE preconditioners.
Base class for wrapping mfem::Solver-derived classes.
ScopedThrowOnError()
Default constructor, which sets Moose::_throw_on_error = true.
A MultiApp represents one or more MOOSE applications that are running simultaneously.
Base class for creating nodal kernels with hand-coded Jacobians.
Based class for output objects.
Positions objects are under the hood Reporters.
Base class for all Postprocessors.
Base class for predictors.
Class that hold the whole problem being solved.
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...
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.
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...
Reporter objects allow for the declaration of arbitrary data types that are aggregate values for a si...
This is the base class for Samplers as used within the Stochastic Tools module.
InitialConditions are objects that set the initial value of variables.
Base class for split-based preconditioners.
Holding syntax for parsing input files.
void addDependencySets(const std::string &action_sets)
Adds all dependencies in a single call.
void registerSyntaxType(const std::string &syntax, const std::string &type)
Register a type with a block.
Base class for time integrators.
Base class for time stepping.
Times objects are under the hood Reporters, but limited to a vector of Real.
Base class for all Transfer objects.
Base class for user-specific data.
Base class for Postprocessors that produce a vector of values.
void petscSetDefaults(FEProblemBase &problem)
Sets the default options for PETSc.
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
void setSolverDefaults(FEProblemBase &problem)
bool _deprecated_is_error
Variable to toggle only deprecated warnings as errors.
void registerObjects(Factory &factory, const std::set< std::string > &obj_labels)
bool _throw_on_error
Variable to turn on exceptions during mooseError(), should only be used within MOOSE unit tests or wh...
bool isSolverExecFlag(const ExecFlagType &exec_flag)
bool show_multiple
Set to false (the default) to display an error message only once for each error call code location (a...
void associateSyntax(Syntax &syntax, ActionFactory &action_factory)
bool setColorConsole(bool use_color, bool force=false)
Turns color escape sequences on/off for info written to stdout.
void registerActions(Syntax &syntax, ActionFactory &action_factory)
Multiple Action class can be associated with a single input file section, in which case all associate...
void registerAll(Factory &f, ActionFactory &af, Syntax &s)
Register objects that are in MOOSE.
volatile std::sig_atomic_t interrupt_signal_number
Used by the signal handler to determine if we should write a checkpoint file out at any point during ...
bool _throw_on_warning
Variable to turn on exceptions during mooseWarning(), should only be used in MOOSE unit tests.
bool _warnings_are_errors
Variable to toggle any warning into an error (includes deprecated code warnings)
bool colorConsole()
Returns whether Console coloring is turned on (default: true).
void addActionTypes(Syntax &syntax)
static bool _color_console
std::string hitMessagePrefix(const hit::Node &node)
Get the prefix to be associated with a hit node for a message.
void associateSyntaxInner(Syntax &syntax, ActionFactory &action_factory)
MPI_Comm swapLibMeshComm(MPI_Comm new_comm)
Swap the libMesh MPI communicator out for ours.