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 5569 : PorousFlowApp::validParams()
20 : {
21 5569 : InputParameters params = MooseApp::validParams();
22 :
23 5569 : params.set<bool>("automatic_automatic_scaling") = false;
24 5569 : params.set<bool>("use_legacy_material_output") = false;
25 5569 : params.set<bool>("use_legacy_initial_residual_evaluation_behavior") = false;
26 :
27 5569 : 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 5473 : PorousFlowApp::registerApps()
41 : {
42 5473 : registerApp(PorousFlowApp);
43 :
44 5473 : SolidMechanicsApp::registerApps();
45 5473 : FluidPropertiesApp::registerApps();
46 5473 : ChemicalReactionsApp::registerApps();
47 5473 : }
48 :
49 : void
50 5569 : PorousFlowApp::registerAll(Factory & f, ActionFactory & af, Syntax & syntax)
51 : {
52 5569 : SolidMechanicsApp::registerAll(f, af, syntax);
53 5569 : FluidPropertiesApp::registerAll(f, af, syntax);
54 5569 : ChemicalReactionsApp::registerAll(f, af, syntax);
55 5569 : Registry::registerObjectsTo(f, {"PorousFlowApp"});
56 5569 : Registry::registerActionsTo(af, {"PorousFlowApp"});
57 :
58 11138 : registerSyntax("CoupledInjectionProductionPhysics", "Physics/CoupledInjectionProduction/*");
59 :
60 11138 : registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_user_object");
61 11138 : registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_kernel");
62 11138 : registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_material");
63 11138 : registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_aux_variable");
64 11138 : registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_aux_kernel");
65 :
66 11138 : registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_user_object");
67 11138 : registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_kernel");
68 11138 : registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_material");
69 11138 : registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_aux_variable");
70 11138 : registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_aux_kernel");
71 :
72 11138 : registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_user_object");
73 11138 : registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_kernel");
74 11138 : registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_material");
75 11138 : registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_aux_variable");
76 11138 : registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_aux_kernel");
77 :
78 11138 : syntax.registerActionSyntax("PorousFlowAddBCAction", "Modules/PorousFlow/BCs/*");
79 :
80 11138 : registerMooseObjectTask("add_porous_flow_bc", PorousFlowSinkBC, false);
81 11138 : addTaskDependency("add_porous_flow_bc", "add_bc");
82 11138 : addTaskDependency("resolve_optional_materials", "add_porous_flow_bc");
83 :
84 : // Task dependency and syntax for action to automatically add PorousFlow materials
85 11138 : registerSyntax("PorousFlowAddMaterialAction", "Materials");
86 :
87 : // Task dependency and syntax for action to automatically add PorousFlowJoiner materials
88 5569 : registerTask("add_joiners", /*is_required=*/false);
89 11138 : addTaskDependency("add_joiners", "add_material");
90 11138 : addTaskDependency("add_master_action_material", "add_joiners");
91 :
92 11138 : registerSyntaxTask("PorousFlowAddMaterialJoiner", "Materials", "add_joiners");
93 5569 : }
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 : }
|