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  registerSyntax("CoupledInjectionProductionPhysics", "Physics/CoupledInjectionProduction/*");
59 
60  registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_user_object");
61  registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_kernel");
62  registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_material");
63  registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_aux_variable");
64  registerSyntaxTask("PorousFlowUnsaturated", "PorousFlowUnsaturated", "add_aux_kernel");
65 
66  registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_user_object");
67  registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_kernel");
68  registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_material");
69  registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_aux_variable");
70  registerSyntaxTask("PorousFlowFullySaturated", "PorousFlowFullySaturated", "add_aux_kernel");
71 
72  registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_user_object");
73  registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_kernel");
74  registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_material");
75  registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_aux_variable");
76  registerSyntaxTask("PorousFlowBasicTHM", "PorousFlowBasicTHM", "add_aux_kernel");
77 
78  syntax.registerActionSyntax("PorousFlowAddBCAction", "Modules/PorousFlow/BCs/*");
79 
80  registerMooseObjectTask("add_porous_flow_bc", PorousFlowSinkBC, false);
81  addTaskDependency("add_porous_flow_bc", "add_bc");
82  addTaskDependency("resolve_optional_materials", "add_porous_flow_bc");
83 
84  // Task dependency and syntax for action to automatically add PorousFlow materials
85  registerSyntax("PorousFlowAddMaterialAction", "Materials");
86 
87  // Task dependency and syntax for action to automatically add PorousFlowJoiner materials
88  registerTask("add_joiners", /*is_required=*/false);
89  addTaskDependency("add_joiners", "add_material");
90  addTaskDependency("add_master_action_material", "add_joiners");
91 
92  registerSyntaxTask("PorousFlowAddMaterialJoiner", "Materials", "add_joiners");
93 }
94 
95 extern "C" void
97 {
99 }
100 extern "C" void
102 {
104 }
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:96
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()
Factory _factory
Surrogate BC object for setting up enthalphy injection BC.
static void registerAll(Factory &f, ActionFactory &af, Syntax &s)