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");
47 registerDefaultExecFlag(
"MULTISYSTEM_FIXED_POINT_CONVERGENCE");
59 #ifdef LIBMESH_ENABLE_AMR 74 registerAppDataFilePath(
"moose");
75 registerRepository(
"moose",
"github.com/idaholab/moose");
84 R
"(@article{harbour2025moose, 85 title = {4.0 {MOOSE}: Enabling massively parallel Multiphysics simulation}, 86 journal = {{SoftwareX}}, 91 doi = {https://doi.org/10.1016/j.softx.2025.102264}, 92 url = {https://www.sciencedirect.com/science/article/pii/S2352711025002316}, 93 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}, 101 R
"(@article{libMeshPaper, 102 author = {B.~S.~Kirk and J.~W.~Peterson and R.~H.~Stogner and G.~F.~Carey}, 103 title = {{\texttt{libMesh}: A C++ Library for Parallel Adaptive Mesh 104 Refinement/Coarsening Simulations}}, 105 journal = {Engineering with Computers}, 110 url={http://dx.doi.org/10.1007/s00366-006-0049-3} 113 #ifdef MOOSE_MFEM_ENABLED 118 R
"(@article{mfem-2024, 119 title = {High-Performance Finite Elements with {MFEM}}, 120 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}, 121 journal = {The International Journal of High Performance Computing Applications}, 126 publisher = {SAGE Publications Sage UK: London, England}, 156 registerMooseObjectTask(
"create_problem",
Problem,
false);
157 registerMooseObjectTask(
"setup_executioner",
Executioner,
false);
158 registerMooseObjectTask(
"read_executor",
Executor,
false);
159 registerTask(
"add_executor",
true);
162 registerTask(
"init_physics",
false);
163 registerTask(
"init_component_physics",
false);
164 registerTask(
"meta_action_component",
false);
165 registerTask(
"setup_component",
false);
167 registerTask(
"list_component",
false);
171 registerMooseObjectTask(
"determine_system_type",
Executioner,
true);
173 registerMooseObjectTask(
"setup_mesh",
MooseMesh,
false);
174 registerMooseObjectTask(
"set_mesh_base",
MooseMesh,
false);
175 registerMooseObjectTask(
"init_mesh",
MooseMesh,
false);
176 registerMooseObjectTask(
"add_mesh_generator",
MeshGenerator,
false);
177 registerTask(
"create_added_mesh_generators",
true);
178 registerMooseObjectTask(
"append_mesh_generator",
MeshGenerator,
false);
180 registerMooseObjectTask(
"add_kernel",
Kernel,
false);
188 registerMooseObjectTask(
"add_elemental_field_variable",
MooseVariableBase,
false);
191 registerMooseObjectTask(
"add_nodal_kernel",
NodalKernel,
false);
193 registerMooseObjectTask(
"add_functor_material",
FunctorMaterial,
false);
194 registerMooseObjectTask(
"add_material",
MaterialBase,
false);
196 registerMooseObjectTask(
"add_materials_physics",
FunctorMaterial,
false);
197 appendMooseObjectTask (
"add_materials_physics",
MaterialBase);
201 registerMooseObjectTask(
"add_function",
Function,
false);
203 registerMooseObjectTask(
"add_distribution",
Distribution,
false);
204 registerMooseObjectTask(
"add_sampler",
Sampler,
false);
206 registerMooseObjectTask(
"add_aux_kernel",
AuxKernel,
false);
210 registerMooseObjectTask(
"add_bound", Bounds,
false);
212 registerMooseObjectTask(
"add_scalar_kernel",
ScalarKernel,
false);
213 registerMooseObjectTask(
"add_aux_scalar_kernel",
AuxScalarKernel,
false);
214 registerMooseObjectTask(
"add_dirac_kernel",
DiracKernel,
false);
216 registerMooseObjectTask(
"add_dg_kernel",
DGKernel,
false);
217 registerMooseObjectTask(
"add_fv_kernel",
FVKernel,
false);
220 registerMooseObjectTask(
"add_linear_fv_kernel",
LinearFVKernel,
false);
224 registerMooseObjectTask(
"add_interface_kernel",
InterfaceKernel,
false);
226 registerMooseObjectTask(
"add_constraint",
Constraint,
false);
227 registerMooseObjectTask(
"add_hybridized_kernel",
HDGKernel,
false);
228 registerMooseObjectTask(
"add_hybridized_integrated_bc", HDGIntegratedBC,
false);
237 registerMooseObjectTask(
"add_damper",
Damper,
false);
238 registerMooseObjectTask(
"setup_predictor",
Predictor,
false);
239 registerMooseObjectTask(
"add_time_steppers",
TimeStepper,
false);
240 registerMooseObjectTask(
"add_time_stepper",
TimeStepper,
false);
241 registerTask (
"compose_time_stepper",
true);
242 registerMooseObjectTask(
"setup_time_integrators",
TimeIntegrator,
false);
243 registerMooseObjectTask(
"setup_time_integrator",
TimeIntegrator,
false);
244 registerMooseObjectTask(
"add_convergence",
Convergence,
false);
247 registerMooseObjectTask(
"add_field_split",
Split,
false);
249 registerMooseObjectTask(
"add_mesh_division",
MeshDivision,
false);
250 registerMooseObjectTask(
"add_user_object",
UserObject,
false);
253 appendDeprecatedMooseObjectTask(
"add_user_object", Corrector);
254 registerMooseObjectTask(
"add_corrector", Corrector,
false);
255 appendDeprecatedMooseObjectTask(
"add_user_object", MeshModifier);
256 registerMooseObjectTask(
"add_mesh_modifier", MeshModifier,
false);
258 registerMooseObjectTask(
"add_postprocessor",
Postprocessor,
false);
260 registerMooseObjectTask(
"add_reporter",
Reporter,
false);
262 registerMooseObjectTask(
"add_positions",
Positions,
false);
263 registerMooseObjectTask(
"add_times",
Times,
false);
265 registerMooseObjectTask(
"add_indicator",
Indicator,
false);
266 registerMooseObjectTask(
"add_marker",
Marker,
false);
268 registerMooseObjectTask(
"add_multi_app",
MultiApp,
false);
269 registerMooseObjectTask(
"add_transfer",
Transfer,
false);
271 registerMooseObjectTask(
"add_output",
Output,
false);
273 registerMooseObjectTask(
"add_control",
Control,
false);
274 registerMooseObjectTask(
"add_chain_control",
ChainControl,
false);
279 registerTask(
"dynamic_object_registration",
false);
280 registerTask(
"common_output",
true);
281 registerTask(
"setup_recover_file_base",
true);
282 registerTask(
"recover_meta_data",
true);
284 registerTask(
"add_bounds_vectors",
false);
285 registerTask(
"add_periodic_bc",
false);
286 registerTask(
"add_aux_variable",
false);
287 registerTask(
"add_external_aux_variables",
true);
288 registerTask(
"add_variable",
false);
289 registerTask(
"add_mortar_variable",
false);
291 registerTask(
"execute_mesh_generators",
true);
292 registerTask(
"uniform_refine_mesh",
false);
293 registerTask(
"prepare_mesh",
false);
294 registerTask(
"delete_remote_elements_after_late_geometric_ghosting",
false);
295 registerTask(
"setup_mesh_complete",
true);
296 registerTask(
"post_mesh_prepared",
false);
297 registerTask(
"add_geometric_rm",
false);
298 registerTask(
"attach_geometric_rm",
true);
299 registerTask(
"attach_geometric_rm_final",
true);
301 registerTask(
"init_displaced_problem",
false);
303 registerTask(
"add_algebraic_rm",
false);
304 registerTask(
"attach_algebraic_rm",
true);
305 registerTask(
"add_coupling_rm",
false);
306 registerTask(
"attach_coupling_rm",
true);
307 registerTask(
"init_problem",
true);
308 registerTask(
"check_copy_nodal_vars",
true);
309 registerTask(
"copy_nodal_vars",
true);
310 registerTask(
"copy_nodal_aux_vars",
true);
311 registerTask(
"copy_vars_physics",
false);
312 registerTask(
"setup_postprocessor_data",
false);
313 registerTask(
"setup_time_steppers",
true);
315 registerTask(
"setup_dampers",
true);
316 registerTask(
"check_integrity",
true);
317 registerTask(
"resolve_optional_materials",
true);
318 registerTask(
"check_integrity_early",
true);
319 registerTask(
"check_integrity_early_physics",
false);
320 registerTask(
"setup_quadrature",
true);
321 registerTask(
"create_tagged_matrices",
true);
323 registerTask(
"mesh_modifiers",
false);
326 registerTask(
"no_action",
false);
327 registerTask(
"set_global_params",
false);
328 registerTask(
"setup_adaptivity",
false);
329 registerTask(
"meta_action",
false);
330 registerTask(
"setup_residual_debug",
false);
331 registerTask(
"setup_oversampling",
false);
332 registerTask(
"deprecated_block",
false);
333 registerTask(
"set_adaptivity_options",
false);
334 registerTask(
"add_mortar_interface",
false);
335 registerTask(
"coupling_functor_check",
true);
336 registerTask(
"add_master_action_material",
false);
337 registerTask(
"setup_projected_properties",
false);
338 registerTask(
"create_application_block",
false);
341 registerTask(
"setup_function_complete",
false);
342 registerTask(
"setup_variable_complete",
false);
343 registerTask(
"setup_executioner_complete",
false);
344 registerTask(
"ready_to_init",
true);
347 registerTask(
"add_output_aux_variables",
true);
348 registerTask(
"check_output",
true);
349 registerTask(
"declare_late_reporters",
true);
351 registerTask(
"create_problem_default",
true);
352 registerTask(
"create_problem_custom",
false);
353 registerTask(
"create_problem_complete",
false);
355 registerTask(
"add_default_nonlinear_convergence",
true);
356 registerTask(
"add_default_multiapp_fixed_point_convergence",
true);
357 registerTask(
"add_default_steady_state_convergence",
true);
359 registerTask(
"chain_control_setup",
true);
360 registerTask(
"start_webservercontrol",
true);
363 registerTask(
"auto_checkpoint_action",
true);
379 "(meta_action_component)" 380 "(dynamic_object_registration)" 382 "(set_global_params)" 383 "(setup_recover_file_base)" 384 "(check_copy_nodal_vars)" 388 "(add_mesh_generator)" 389 "(create_added_mesh_generators)" 390 "(append_mesh_generator)" 391 "(execute_mesh_generators)" 392 "(recover_meta_data)" 394 "(attach_geometric_rm)" 397 "(add_mortar_interface)" 398 "(uniform_refine_mesh)" 399 "(setup_mesh_complete)" 400 "(post_mesh_prepared)" 401 "(determine_system_type)" 403 "(create_problem_custom)" 404 "(create_problem_default)" 405 "(create_problem_complete)" 406 "(init_displaced_problem)" 409 "(init_component_physics)" 411 "(setup_postprocessor_data)" 412 "(setup_time_integrator, setup_time_integrators)" 413 "(setup_executioner)" 414 "(setup_executioner_complete)" 418 "(check_integrity_early)" 420 "(add_aux_variable, add_variable, add_elemental_field_variable," 421 " add_external_aux_variables)" 422 "(add_variables_physics)" 423 "(add_mortar_variable)" 424 "(setup_variable_complete)" 425 "(check_integrity_early_physics)" 428 "(add_default_nonlinear_convergence," 429 " add_default_multiapp_fixed_point_convergence," 430 " add_default_steady_state_convergence)" 433 "(add_user_object, add_corrector, add_mesh_modifier)" 435 "(add_preconditioning)" 436 "(create_tagged_matrices)" 439 "(setup_function_complete)" 441 "(set_adaptivity_options)" 442 "(add_ic, add_fv_ic)" 446 "(add_time_stepper, add_time_steppers)" 447 "(compose_time_stepper)" 448 "(setup_time_steppers)" 451 "(setup_residual_debug)" 452 "(add_bounds_vectors)" 453 "(add_mesh_division)" 456 "(copy_nodal_vars, copy_nodal_aux_vars, copy_vars_physics)" 458 "(add_master_action_material)" 459 "(add_functor_material)" 460 "(add_materials_physics)" 461 "(setup_projected_properties)" 462 "(add_output_aux_variables)" 464 "(auto_checkpoint_action)" 465 "(add_postprocessor)" 466 "(add_vector_postprocessor)" 469 "(declare_late_reporters)" 470 "(add_aux_kernel, add_bc, add_damper, add_dirac_kernel, add_kernel," 471 " add_nodal_kernel, add_dg_kernel, add_fv_kernel, add_interpolation_method," 472 " add_interpolation_method_physics, add_linear_fv_kernel," 473 " add_fv_bc, add_linear_fv_bc, add_fv_ik, add_interface_kernel," 474 " add_scalar_kernel, add_aux_scalar_kernel, add_indicator, add_marker," 475 " add_bound, add_hybridized_kernel, add_hybridized_integrated_bc)" 476 "(resolve_optional_materials)" 479 "(attach_geometric_rm_final)" 480 "(attach_algebraic_rm)" 481 "(attach_coupling_rm)" 482 "(coupling_functor_check)" 483 "(delete_remote_elements_after_late_geometric_ghosting)" 485 "(add_control, add_chain_control)" 486 "(chain_control_setup)" 487 "(start_webservercontrol)" 490 "(create_application_block)");
493 #ifdef MOOSE_MFEM_ENABLED 494 registerTask(
"add_mfem_problem_operator",
true);
495 addTaskDependency(
"add_mfem_problem_operator",
"init_mesh");
496 addTaskDependency(
"add_variable",
"add_mfem_problem_operator");
497 addTaskDependency(
"add_aux_variable",
"add_mfem_problem_operator");
498 addTaskDependency(
"add_elemental_field_variable",
"add_mfem_problem_operator");
499 addTaskDependency(
"add_bc",
"add_mfem_problem_operator");
500 addTaskDependency(
"add_kernel",
"add_mfem_problem_operator");
503 registerMooseObjectTask(
"add_mfem_submeshes",
MFEMSubMesh,
false);
504 addTaskDependency(
"add_mfem_submeshes",
"create_problem_complete");
510 registerMooseObjectTask(
"add_mfem_fespaces",
MFEMFESpace,
false);
511 appendMooseObjectTask(
"add_mfem_fespaces", MFEMFECollection);
512 addTaskDependency(
"add_mfem_fespaces",
"add_mfem_submeshes");
516 addTaskDependency(
"add_mfem_fespace_hierarchies",
"add_mfem_fespaces");
520 addTaskDependency(
"add_variable",
"add_mfem_fespace_hierarchies");
521 addTaskDependency(
"add_aux_variable",
"add_mfem_fespace_hierarchies");
522 addTaskDependency(
"add_elemental_field_variable",
"add_mfem_fespace_hierarchies");
524 addTaskDependency(
"add_kernel",
"add_mfem_fespaces");
527 registerMooseObjectTask(
"add_mfem_quadrature_functions", MFEMQuadratureFunction,
false);
529 addTaskDependency(
"add_mfem_quadrature_functions",
"add_functor_material");
531 addTaskDependency(
"add_kernel",
"add_mfem_quadrature_functions");
532 addTaskDependency(
"add_bc",
"add_mfem_quadrature_functions");
533 addTaskDependency(
"add_aux_kernel",
"add_mfem_quadrature_functions");
536 registerMooseObjectTask(
"add_mfem_complex_kernel_components",
Kernel,
false);
537 registerMooseObjectTask(
"add_mfem_complex_bc_components",
BoundaryCondition,
false);
538 addTaskDependency(
"add_mfem_complex_kernel_components",
"add_mfem_fespaces");
539 addTaskDependency(
"add_mfem_complex_bc_components",
"add_mfem_fespaces");
540 addTaskDependency(
"add_mfem_complex_kernel_components",
"add_kernel");
541 addTaskDependency(
"add_mfem_complex_bc_components",
"add_bc");
544 registerTask(
"set_mesh_fe_space",
true);
545 addTaskDependency(
"set_mesh_fe_space",
"add_variable");
546 addTaskDependency(
"set_mesh_fe_space",
"init_mesh");
550 addTaskDependency(
"add_mfem_solver",
"add_mfem_fespace_hierarchies");
551 addTaskDependency(
"add_mfem_solver",
"add_mfem_problem_operator");
552 addTaskDependency(
"add_mfem_solver",
"add_variable");
553 registerTask(
"resolve_mfem_solvers",
true);
554 addTaskDependency(
"resolve_mfem_solvers",
"add_mfem_solver");
555 addTaskDependency(
"init_problem",
"resolve_mfem_solvers");
560 addTaskDependency(
"add_interpolation_method_physics",
"add_interpolation_method");
561 addTaskDependency(
"add_fv_kernel",
"add_interpolation_method_physics");
562 addTaskDependency(
"add_linear_fv_kernel",
"add_interpolation_method_physics");
563 addTaskDependency(
"add_fv_kernel",
"add_interpolation_method");
564 addTaskDependency(
"add_linear_fv_kernel",
"add_interpolation_method");
566 registerTask(
"parse_neml2",
false);
567 addTaskDependency(
"add_material",
"parse_neml2");
568 addTaskDependency(
"add_user_object",
"parse_neml2");
609 const std::set<std::string> & obj_labels)
614 registerTask(
"dump_objects",
false);
615 registerTask(
"finish_input_file_output",
false);
626 registerSyntax(
"DiffusionCG",
"Physics/Diffusion/ContinuousGalerkin/*");
627 registerSyntax(
"DiffusionFV",
"Physics/Diffusion/FiniteVolume/*");
629 registerSyntax(
"AddActionComponentAction",
"ActionComponents/*");
630 registerSyntax(
"CombineComponentsMeshes",
"ActionComponents");
632 registerSyntaxTask(
"CopyNodalVarsAction",
"Variables/*",
"check_copy_nodal_vars");
633 registerSyntaxTask(
"CopyNodalVarsAction",
"Variables/*",
"copy_nodal_vars");
634 registerSyntaxTask(
"CopyNodalVarsAction",
"AuxVariables/*",
"check_copy_nodal_vars");
635 registerSyntaxTask(
"CopyNodalVarsAction",
"AuxVariables/*",
"copy_nodal_aux_vars");
637 registerSyntaxTask(
"AddKernelAction",
"Kernels/*",
"add_kernel");
638 registerSyntaxTask(
"AddNodalKernelAction",
"NodalKernels/*",
"add_nodal_kernel");
639 registerSyntaxTask(
"AddKernelAction",
"AuxKernels/*",
"add_aux_kernel");
641 registerSyntaxTask(
"AddHDGKernelAction",
"HDGKernels/*",
"add_hybridized_kernel");
643 registerSyntax(
"AddAuxKernelAction",
"AuxVariables/*/AuxKernel");
645 registerSyntaxTask(
"AddScalarKernelAction",
"ScalarKernels/*",
"add_scalar_kernel");
646 registerSyntaxTask(
"AddScalarKernelAction",
"AuxScalarKernels/*",
"add_aux_scalar_kernel");
648 registerSyntaxTask(
"AddBCAction",
"BCs/*",
"add_bc");
650 registerSyntax(
"CreateProblemAction",
"Problem");
651 registerSyntax(
"DynamicObjectRegistrationAction",
"Problem");
653 registerSyntax(
"SetupMeshAction",
"Mesh");
654 registerSyntax(
"SetupMeshCompleteAction",
"Mesh");
656 registerSyntax(
"CreateMeshSetupActionsForComponents",
"ActionComponents");
657 registerSyntax(
"CreateDisplacedProblemAction",
"Mesh");
658 registerSyntax(
"DisplayGhostingAction",
"Mesh");
659 registerSyntax(
"AddMeshGeneratorAction",
"Mesh/*");
660 registerSyntaxTask(
"EmptyAction",
"Mesh/BatchMeshGeneratorAction",
"no_action");
661 registerSyntax(
"BatchMeshGeneratorAction",
"Mesh/BatchMeshGeneratorAction/*");
662 registerSyntax(
"ElementIDOutputAction",
"Mesh");
665 registerSyntax(
"AddFunctionAction",
"Functions/*");
668 registerSyntax(
"AddMeshDivisionAction",
"MeshDivisions/*");
670 registerSyntax(
"AddConvergenceAction",
"Convergence/*");
673 registerSyntax(
"GlobalParamsAction",
"GlobalParams");
675 registerSyntax(
"AddDistributionAction",
"Distributions/*");
678 registerSyntax(
"AddSamplerAction",
"Samplers/*");
681 registerSyntax(
"SetupDebugAction",
"Debug");
682 registerSyntax(
"SetupResidualDebugAction",
"Debug");
685 registerSyntax(
"AddVariableAction",
"Variables/*");
689 registerSyntax(
"AddICAction",
"Variables/*/InitialCondition");
690 registerSyntax(
"AddFVICAction",
"Variables/*/FVInitialCondition");
692 registerSyntax(
"AddAuxVariableAction",
"AuxVariables/*");
696 registerSyntax(
"AddICAction",
"AuxVariables/*/InitialCondition");
697 registerSyntax(
"AddFVICAction",
"AuxVariables/*/FVInitialCondition");
699 registerSyntaxTask(
"EmptyAction",
"BCs/Periodic",
"no_action");
700 registerSyntax(
"AddPeriodicBCAction",
"BCs/Periodic/*");
702 registerSyntaxTask(
"AddInitialConditionAction",
"ICs/*",
"add_ic");
703 registerSyntaxTask(
"AddFVInitialConditionAction",
"FVICs/*",
"add_fv_ic");
705 registerSyntax(
"AddMaterialAction",
"Materials/*");
708 registerSyntax(
"AddFunctorMaterialAction",
"FunctorMaterials/*");
711 registerSyntax(
"AddPostprocessorAction",
"Postprocessors/*");
715 registerSyntax(
"AddVectorPostprocessorAction",
"VectorPostprocessors/*");
718 registerSyntax(
"AddReporterAction",
"Reporters/*");
721 registerSyntax(
"AddPositionsAction",
"Positions/*");
724 registerSyntax(
"AddTimesAction",
"Times/*");
727 registerSyntax(
"AddDamperAction",
"Dampers/*");
729 registerSyntax(
"AddOutputAction",
"Outputs/*");
730 registerSyntax(
"CommonOutputAction",
"Outputs");
731 registerSyntax(
"MaterialOutputAction",
"Outputs");
732 registerSyntax(
"AutoCheckpointAction",
"Outputs");
736 registerSyntax(
"SetupPreconditionerAction",
"Preconditioning/*");
737 registerSyntax(
"AddFieldSplitAction",
"Preconditioning/*/*");
739 registerSyntax(
"CreateExecutionerAction",
"Executioner");
740 registerSyntax(
"ReadExecutorParamsAction",
"Executors/*");
742 registerSyntaxTask(
"AddTimeStepperAction",
"Executioner/TimeSteppers/*",
"add_time_steppers");
743 registerSyntaxTask(
"AddTimeStepperAction",
"Executioner/TimeStepper",
"add_time_stepper");
745 "ComposeTimeStepperAction",
"Executioner/TimeSteppers",
"compose_time_stepper");
747 "SetupTimeIntegratorAction",
"Executioner/TimeIntegrators/*",
"setup_time_integrators");
749 "SetupTimeIntegratorAction",
"Executioner/TimeIntegrator",
"setup_time_integrator");
752 registerSyntax(
"SetupQuadratureAction",
"Executioner/Quadrature");
753 registerSyntax(
"SetupPredictorAction",
"Executioner/Predictor");
754 #ifdef LIBMESH_ENABLE_AMR 755 registerSyntax(
"AdaptivityAction",
"Executioner/Adaptivity");
758 registerSyntax(
"PartitionerAction",
"Mesh/Partitioner");
760 registerSyntax(
"AddDiracKernelAction",
"DiracKernels/*");
762 registerSyntax(
"AddDGKernelAction",
"DGKernels/*");
763 registerSyntax(
"AddFVKernelAction",
"FVKernels/*");
764 registerSyntax(
"AddFVBCAction",
"FVBCs/*");
765 registerSyntax(
"AddLinearFVBCAction",
"LinearFVBCs/*");
766 registerSyntax(
"AddFVInterfaceKernelAction",
"FVInterfaceKernels/*");
767 registerSyntax(
"CheckFVBCAction",
"FVBCs");
769 registerSyntax(
"AddLinearFVKernelAction",
"LinearFVKernels/*");
771 registerSyntax(
"AddInterfaceKernelAction",
"InterfaceKernels/*");
773 registerSyntax(
"AddConstraintAction",
"Constraints/*");
775 registerSyntax(
"AddControlAction",
"Controls/*");
776 registerSyntax(
"AddChainControlAction",
"ChainControls/*");
777 registerSyntax(
"AddBoundAction",
"Bounds/*");
778 registerSyntax(
"AddBoundsVectorsAction",
"Bounds");
781 registerSyntax(
"AddUserObjectAction",
"UserObjects/*");
784 registerSyntax(
"AddCorrectorAction",
"Correctors/*");
787 registerSyntax(
"AddMeshModifiersAction",
"MeshModifiers/*");
790 registerSyntax(
"AddNodalNormalsAction",
"NodalNormals");
793 registerSyntax(
"AddFVInterpolationMethodAction",
"FVInterpolationMethods/*");
797 registerSyntax(
"AddElementalFieldAction",
"Adaptivity/Indicators/*");
798 registerSyntax(
"AddIndicatorAction",
"Adaptivity/Indicators/*");
802 registerSyntax(
"AddElementalFieldAction",
"Adaptivity/Markers/*");
803 registerSyntax(
"AddMarkerAction",
"Adaptivity/Markers/*");
807 registerSyntax(
"SetAdaptivityOptionsAction",
"Adaptivity");
810 registerSyntax(
"DeprecatedBlockAction",
"DeprecatedBlock");
813 registerSyntax(
"AddMultiAppAction",
"MultiApps/*");
817 registerSyntax(
"AddTransferAction",
"Transfers/*");
820 registerSyntaxTask(
"EmptyAction",
"Debug/MaterialDerivativeTest",
"no_action");
821 registerSyntax(
"MaterialDerivativeTestAction",
"Debug/MaterialDerivativeTest/*");
823 registerSyntax(
"ProjectedStatefulMaterialStorageAction",
"ProjectedStatefulMaterialStorage/*");
826 registerSyntax(
"CreateApplicationBlockAction",
"Application");
828 #ifdef MOOSE_MFEM_ENABLED 829 registerSyntaxTask(
"AddMFEMSubMeshAction",
"SubMeshes/*",
"add_mfem_submeshes");
830 registerSyntaxTask(
"AddMFEMFESpaceAction",
"FESpaces/*",
"add_mfem_fespaces");
832 "AddMFEMQuadratureFunctionAction",
"QuadratureFunctions/*",
"add_mfem_quadrature_functions");
834 "AddMFEMFESpaceHierarchyAction",
"FESpaceHierarchies/*",
"add_mfem_fespace_hierarchies");
836 "AddMFEMComplexKernelComponentAction",
"Kernels/*/*",
"add_mfem_complex_kernel_components");
838 "AddMFEMComplexBCComponentAction",
"BCs/*/*",
"add_mfem_complex_bc_components");
839 registerSyntaxTask(
"AddMFEMSolverAction",
"Solvers/*",
"add_mfem_solver");
843 registerSyntax(
"NEML2ActionCommon",
"NEML2");
844 registerSyntax(
"NEML2Action",
"NEML2/*");
866 MPI_Comm old_comm = PETSC_COMM_WORLD;
867 PETSC_COMM_WORLD = new_comm;
915 if (node.filename() ==
"CLI_ARGS")
916 return "CLI_ARGS:\n";
919 return node.filename() +
":\n";
920 return node.fileLocation() +
":\n";
const ExecFlagType EXEC_LINEAR_CONVERGENCE
Base class for function objects.
Base 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...
const ExecFlagType EXEC_MULTISYSTEM_FIXED_POINT_CONVERGENCE
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. ...
Builds and owns a mfem::ParFiniteElementSpaceHierarchy from a base FESpace by applying a sequence of ...
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
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
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 ...