www.mooseframework.org
PorousFlowApp.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 "TensorMechanicsApp.h"
13 #include "AppFactory.h"
14 #include "MooseSyntax.h"
15 #include "FluidPropertiesApp.h"
16 #include "ChemicalReactionsApp.h"
17 
18 template <>
19 InputParameters
21 {
22  InputParameters params = validParams<MooseApp>();
23 
24  params.set<bool>("automatic_automatic_scaling") = false;
25 
26  // Do not use legacy DirichletBC, that is, set DirichletBC default for preset = true
27  params.set<bool>("use_legacy_dirichlet_bc") = false;
28 
29  return params;
30 }
31 
32 registerKnownLabel("PorousFlowApp");
33 
34 PorousFlowApp::PorousFlowApp(const InputParameters & parameters) : MooseApp(parameters) {}
35 
37 
38 void
40 {
41  registerApp(PorousFlowApp);
42 }
43 
44 static void
45 associateSyntaxInner(Syntax & syntax, ActionFactory & /*action_factory*/)
46 {
47  registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_user_object");
48  registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_kernel");
49  registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_material");
50  registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_aux_variable");
51  registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_aux_kernel");
52 
53  registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_user_object");
54  registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_kernel");
55  registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_material");
56  registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_aux_variable");
57  registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_aux_kernel");
58 
59  registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_user_object");
60  registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_kernel");
61  registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_material");
62  registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_aux_variable");
63  registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_aux_kernel");
64 
65  // Task dependency and syntax for action to automatically add PorousFlow materials
66  registerSyntax("PorousFlowAddMaterialAction", "Materials");
67 
68  // Task dependency and syntax for action to automatically add PorousFlowJoiner materials
69  registerTask("add_joiners", /*is_required=*/false);
70  addTaskDependency("add_joiners", "add_material");
71 
72  registerSyntaxTask("PorousFlowAddMaterialJoiner", "Materials", "add_joiners");
73 }
74 
75 void
76 PorousFlowApp::registerAll(Factory & f, ActionFactory & af, Syntax & s)
77 {
81  Registry::registerObjectsTo(f, {"PorousFlowApp"});
82  Registry::registerActionsTo(af, {"PorousFlowApp"});
83  associateSyntaxInner(s, af);
84 }
85 
86 void
88 {
89  mooseDeprecated("use registerAll instead of registerObjectsDepends");
93 }
94 
95 void
97 {
98  mooseDeprecated("use registerAll instead of registerObjects");
99  Registry::registerObjectsTo(factory, {"PorousFlowApp"});
100 }
101 
102 void
103 PorousFlowApp::associateSyntaxDepends(Syntax & syntax, ActionFactory & action_factory)
104 {
105  mooseDeprecated("use registerAll instead of associateSyntaxDepends");
106  TensorMechanicsApp::associateSyntax(syntax, action_factory);
107  FluidPropertiesApp::associateSyntax(syntax, action_factory);
108  ChemicalReactionsApp::associateSyntax(syntax, action_factory);
109 }
110 
111 void
112 PorousFlowApp::associateSyntax(Syntax & syntax, ActionFactory & action_factory)
113 {
114  mooseDeprecated("use registerAll instead of associateSyntax");
115  Registry::registerActionsTo(action_factory, {"PorousFlowApp"});
116  associateSyntaxInner(syntax, action_factory);
117 }
118 
119 void
120 PorousFlowApp::registerExecFlags(Factory & /*factory*/)
121 {
122  mooseDeprecated("use registerAll instead of registerExecFlags");
123 }
124 
125 extern "C" void
126 PorousFlowApp__registerAll(Factory & f, ActionFactory & af, Syntax & s)
127 {
128  PorousFlowApp::registerAll(f, af, s);
129 }
130 extern "C" void
132 {
134 }
PorousFlowApp
Definition: PorousFlowApp.h:19
FluidPropertiesApp::registerAll
static void registerAll(Factory &f, ActionFactory &af, Syntax &s)
Definition: FluidPropertiesApp.C:51
TensorMechanicsApp::registerObjects
static void registerObjects(Factory &factory)
Definition: TensorMechanicsApp.C:95
validParams< PorousFlowApp >
InputParameters validParams< PorousFlowApp >()
Definition: PorousFlowApp.C:20
PorousFlowApp::registerApps
static void registerApps()
Definition: PorousFlowApp.C:39
PorousFlowApp::registerAll
static void registerAll(Factory &f, ActionFactory &af, Syntax &s)
Definition: PorousFlowApp.C:76
PorousFlowApp::PorousFlowApp
PorousFlowApp(const InputParameters &parameters)
Definition: PorousFlowApp.C:34
PorousFlowApp__registerAll
void PorousFlowApp__registerAll(Factory &f, ActionFactory &af, Syntax &s)
Definition: PorousFlowApp.C:126
ChemicalReactionsApp.h
PorousFlowApp::associateSyntax
static void associateSyntax(Syntax &syntax, ActionFactory &action_factory)
Definition: PorousFlowApp.C:112
TensorMechanicsApp.h
PorousFlowApp::registerObjects
static void registerObjects(Factory &factory)
Definition: PorousFlowApp.C:96
FluidPropertiesApp::associateSyntax
static void associateSyntax(Syntax &syntax, ActionFactory &action_factory)
Definition: FluidPropertiesApp.C:66
registerKnownLabel
registerKnownLabel("PorousFlowApp")
TensorMechanicsApp::associateSyntax
static void associateSyntax(Syntax &syntax, ActionFactory &action_factory)
Definition: TensorMechanicsApp.C:102
TensorMechanicsApp::registerAll
static void registerAll(Factory &f, ActionFactory &af, Syntax &s)
Definition: TensorMechanicsApp.C:81
FluidPropertiesApp::registerObjects
static void registerObjects(Factory &factory)
Definition: FluidPropertiesApp.C:59
FluidPropertiesApp.h
associateSyntaxInner
static void associateSyntaxInner(Syntax &syntax, ActionFactory &)
Definition: PorousFlowApp.C:45
PorousFlowApp::registerObjectDepends
static void registerObjectDepends(Factory &factory)
Definition: PorousFlowApp.C:87
ChemicalReactionsApp::registerAll
static void registerAll(Factory &f, ActionFactory &af, Syntax &s)
Definition: ChemicalReactionsApp.C:51
PorousFlowApp::associateSyntaxDepends
static void associateSyntaxDepends(Syntax &syntax, ActionFactory &action_factory)
Definition: PorousFlowApp.C:103
PorousFlowApp.h
PorousFlowApp__registerApps
void PorousFlowApp__registerApps()
Definition: PorousFlowApp.C:131
ChemicalReactionsApp::associateSyntax
static void associateSyntax(Syntax &syntax, ActionFactory &action_factory)
Definition: ChemicalReactionsApp.C:72
PorousFlowApp::~PorousFlowApp
virtual ~PorousFlowApp()
Definition: PorousFlowApp.C:36
ChemicalReactionsApp::registerObjects
static void registerObjects(Factory &factory)
Definition: ChemicalReactionsApp.C:65
PorousFlowApp::registerExecFlags
static void registerExecFlags(Factory &factory)
Definition: PorousFlowApp.C:120