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 10445 : PorousFlowApp::validParams()
20 : {
21 10445 : InputParameters params = MooseApp::validParams();
22 :
23 10445 : params.set<bool>("automatic_automatic_scaling") = false;
24 10445 : params.set<bool>("use_legacy_material_output") = false;
25 10445 : params.set<bool>("use_legacy_initial_residual_evaluation_behavior") = false;
26 :
27 10445 : return params;
28 0 : }
29 :
30 : registerKnownLabel("PorousFlowApp");
31 :
32 48 : PorousFlowApp::PorousFlowApp(const InputParameters & parameters) : MooseApp(parameters)
33 : {
34 48 : PorousFlowApp::registerAll(_factory, _action_factory, _syntax);
35 48 : }
36 :
37 96 : PorousFlowApp::~PorousFlowApp() {}
38 :
39 : void
40 10326 : PorousFlowApp::registerApps()
41 : {
42 10326 : registerApp(PorousFlowApp);
43 :
44 10326 : SolidMechanicsApp::registerApps();
45 10326 : FluidPropertiesApp::registerApps();
46 10326 : ChemicalReactionsApp::registerApps();
47 10326 : }
48 :
49 : void
50 10445 : PorousFlowApp::registerAll(Factory & f, ActionFactory & af, Syntax & syntax)
51 : {
52 10445 : SolidMechanicsApp::registerAll(f, af, syntax);
53 10445 : FluidPropertiesApp::registerAll(f, af, syntax);
54 10445 : ChemicalReactionsApp::registerAll(f, af, syntax);
55 10445 : Registry::registerObjectsTo(f, {"PorousFlowApp"});
56 10445 : Registry::registerActionsTo(af, {"PorousFlowApp"});
57 :
58 20890 : registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_user_object");
59 20890 : registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_kernel");
60 20890 : registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_material");
61 20890 : registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_aux_variable");
62 20890 : registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_aux_kernel");
63 :
64 20890 : registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_user_object");
65 20890 : registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_kernel");
66 20890 : registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_material");
67 20890 : registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_aux_variable");
68 20890 : registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_aux_kernel");
69 :
70 20890 : registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_user_object");
71 20890 : registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_kernel");
72 20890 : registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_material");
73 20890 : registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_aux_variable");
74 20890 : registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_aux_kernel");
75 :
76 20890 : syntax.registerActionSyntax("PorousFlowAddBCAction", "Modules/PorousFlow/BCs/*");
77 :
78 20890 : registerMooseObjectTask("add_porous_flow_bc", PorousFlowSinkBC, false);
79 20890 : addTaskDependency("add_porous_flow_bc", "add_bc");
80 20890 : addTaskDependency("resolve_optional_materials", "add_porous_flow_bc");
81 :
82 : // Task dependency and syntax for action to automatically add PorousFlow materials
83 20890 : registerSyntax("PorousFlowAddMaterialAction", "Materials");
84 :
85 : // Task dependency and syntax for action to automatically add PorousFlowJoiner materials
86 10445 : registerTask("add_joiners", /*is_required=*/false);
87 20890 : addTaskDependency("add_joiners", "add_material");
88 20890 : addTaskDependency("add_master_action_material", "add_joiners");
89 :
90 20890 : registerSyntaxTask("PorousFlowAddMaterialJoiner", "Materials", "add_joiners");
91 10445 : }
92 :
93 : extern "C" void
94 0 : PorousFlowApp__registerAll(Factory & f, ActionFactory & af, Syntax & s)
95 : {
96 0 : PorousFlowApp::registerAll(f, af, s);
97 0 : }
98 : extern "C" void
99 0 : PorousFlowApp__registerApps()
100 : {
101 0 : PorousFlowApp::registerApps();
102 0 : }
|