Line data Source code
1 : //* This file is part of the MOOSE framework
2 : //* https://mooseframework.inl.gov
3 : //*
4 : //* All rights reserved, see COPYRIGHT for full restrictions
5 : //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 : //*
7 : //* Licensed under LGPL 2.1, please see LICENSE for details
8 : //* https://www.gnu.org/licenses/lgpl-2.1.html
9 :
10 : #include "PorousFlowApp.h"
11 : #include "Moose.h"
12 : #include "SolidMechanicsApp.h"
13 : #include "AppFactory.h"
14 : #include "MooseSyntax.h"
15 : #include "FluidPropertiesApp.h"
16 : #include "ChemicalReactionsApp.h"
17 :
18 : InputParameters
19 5430 : PorousFlowApp::validParams()
20 : {
21 5430 : InputParameters params = MooseApp::validParams();
22 :
23 5430 : params.set<bool>("automatic_automatic_scaling") = false;
24 5430 : params.set<bool>("use_legacy_material_output") = false;
25 5430 : params.set<bool>("use_legacy_initial_residual_evaluation_behavior") = false;
26 :
27 5430 : return params;
28 0 : }
29 :
30 : registerKnownLabel("PorousFlowApp");
31 :
32 57 : PorousFlowApp::PorousFlowApp(const InputParameters & parameters) : MooseApp(parameters)
33 : {
34 57 : PorousFlowApp::registerAll(_factory, _action_factory, _syntax);
35 57 : }
36 :
37 114 : PorousFlowApp::~PorousFlowApp() {}
38 :
39 : void
40 5334 : PorousFlowApp::registerApps()
41 : {
42 5334 : registerApp(PorousFlowApp);
43 :
44 5334 : SolidMechanicsApp::registerApps();
45 5334 : FluidPropertiesApp::registerApps();
46 5334 : ChemicalReactionsApp::registerApps();
47 5334 : }
48 :
49 : void
50 5430 : PorousFlowApp::registerAll(Factory & f, ActionFactory & af, Syntax & syntax)
51 : {
52 5430 : SolidMechanicsApp::registerAll(f, af, syntax);
53 5430 : FluidPropertiesApp::registerAll(f, af, syntax);
54 5430 : ChemicalReactionsApp::registerAll(f, af, syntax);
55 5430 : Registry::registerObjectsTo(f, {"PorousFlowApp"});
56 5430 : Registry::registerActionsTo(af, {"PorousFlowApp"});
57 :
58 10860 : registerSyntax("CoupledInjectionProductionPhysics", "Physics/CoupledInjectionProduction/*");
59 :
60 10860 : registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_user_object");
61 10860 : registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_kernel");
62 10860 : registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_material");
63 10860 : registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_aux_variable");
64 10860 : registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_aux_kernel");
65 :
66 10860 : registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_user_object");
67 10860 : registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_kernel");
68 10860 : registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_material");
69 10860 : registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_aux_variable");
70 10860 : registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_aux_kernel");
71 :
72 10860 : registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_user_object");
73 10860 : registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_kernel");
74 10860 : registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_material");
75 10860 : registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_aux_variable");
76 10860 : registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_aux_kernel");
77 :
78 10860 : syntax.registerActionSyntax("PorousFlowAddBCAction", "Modules/PorousFlow/BCs/*");
79 :
80 10860 : registerMooseObjectTask("add_porous_flow_bc", PorousFlowSinkBC, false);
81 10860 : addTaskDependency("add_porous_flow_bc", "add_bc");
82 10860 : addTaskDependency("resolve_optional_materials", "add_porous_flow_bc");
83 :
84 : // Task dependency and syntax for action to automatically add PorousFlow materials
85 10860 : registerSyntax("PorousFlowAddMaterialAction", "Materials");
86 :
87 : // Task dependency and syntax for action to automatically add PorousFlowJoiner materials
88 5430 : registerTask("add_joiners", /*is_required=*/false);
89 10860 : addTaskDependency("add_joiners", "add_material");
90 10860 : addTaskDependency("add_master_action_material", "add_joiners");
91 :
92 10860 : registerSyntaxTask("PorousFlowAddMaterialJoiner", "Materials", "add_joiners");
93 5430 : }
94 :
95 : extern "C" void
96 0 : PorousFlowApp__registerAll(Factory & f, ActionFactory & af, Syntax & s)
97 : {
98 0 : PorousFlowApp::registerAll(f, af, s);
99 0 : }
100 : extern "C" void
101 0 : PorousFlowApp__registerApps()
102 : {
103 0 : PorousFlowApp::registerApps();
104 0 : }
|