https://mooseframework.inl.gov
PorousFlowApp.C
Go to the documentation of this file.
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 
20 {
22 
23  params.set<bool>("automatic_automatic_scaling") = false;
24  params.set<bool>("use_legacy_material_output") = false;
25  params.set<bool>("use_legacy_initial_residual_evaluation_behavior") = false;
26 
27  return params;
28 }
29 
30 registerKnownLabel("PorousFlowApp");
31 
32 PorousFlowApp::PorousFlowApp(const InputParameters & parameters) : MooseApp(parameters)
33 {
35 }
36 
38 
39 void
41 {
42  registerApp(PorousFlowApp);
43 
47 }
48 
49 void
51 {
55  Registry::registerObjectsTo(f, {"PorousFlowApp"});
56  Registry::registerActionsTo(af, {"PorousFlowApp"});
57 
58  registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_user_object");
59  registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_kernel");
60  registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_material");
61  registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_aux_variable");
62  registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_aux_kernel");
63 
64  registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_user_object");
65  registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_kernel");
66  registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_material");
67  registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_aux_variable");
68  registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_aux_kernel");
69 
70  registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_user_object");
71  registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_kernel");
72  registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_material");
73  registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_aux_variable");
74  registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_aux_kernel");
75 
76  syntax.registerActionSyntax("PorousFlowAddBCAction", "Modules/PorousFlow/BCs/*");
77 
78  registerMooseObjectTask("add_porous_flow_bc", PorousFlowSinkBC, false);
79  addTaskDependency("add_porous_flow_bc", "add_bc");
80  addTaskDependency("resolve_optional_materials", "add_porous_flow_bc");
81 
82  // Task dependency and syntax for action to automatically add PorousFlow materials
83  registerSyntax("PorousFlowAddMaterialAction", "Materials");
84 
85  // Task dependency and syntax for action to automatically add PorousFlowJoiner materials
86  registerTask("add_joiners", /*is_required=*/false);
87  addTaskDependency("add_joiners", "add_material");
88  addTaskDependency("add_master_action_material", "add_joiners");
89 
90  registerSyntaxTask("PorousFlowAddMaterialJoiner", "Materials", "add_joiners");
91 }
92 
93 extern "C" void
95 {
97 }
98 extern "C" void
100 {
102 }
static void registerApps()
static void registerAll(Factory &f, ActionFactory &af, Syntax &s)
static InputParameters validParams()
Definition: PorousFlowApp.C:19
void PorousFlowApp__registerAll(Factory &f, ActionFactory &af, Syntax &s)
Definition: PorousFlowApp.C:94
static void registerAll(Factory &f, ActionFactory &af, Syntax &s)
T & set(const std::string &name, bool quiet_mode=false)
void registerActionSyntax(const std::string &action, const std::string &syntax, const std::string &task="", const std::string &file="", int line=-1)
PorousFlowApp(const InputParameters &parameters)
Definition: PorousFlowApp.C:32
static void registerObjectsTo(Factory &f, const std::set< std::string > &labels)
static void registerApps()
Syntax _syntax
Syntax & syntax()
static void registerAll(Factory &f, ActionFactory &af, Syntax &s)
Definition: PorousFlowApp.C:50
static InputParameters validParams()
static void registerActionsTo(ActionFactory &f, const std::set< std::string > &labels)
Real f(Real x)
Test function for Brents method.
registerKnownLabel("PorousFlowApp")
ActionFactory _action_factory
virtual ~PorousFlowApp()
Definition: PorousFlowApp.C:37
static void registerApps()
Definition: PorousFlowApp.C:40
void PorousFlowApp__registerApps()
Definition: PorousFlowApp.C:99
Factory _factory
Surrogate BC object for setting up enthalphy injection BC.
static void registerAll(Factory &f, ActionFactory &af, Syntax &s)