www.mooseframework.org
PorousFlowSinglePhaseBase.h
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 #pragma once
11 
12 #include "PorousFlowActionBase.h"
13 
18 {
19 public:
21 
23 
24 protected:
25  virtual void addDictator() override;
26  virtual void addKernels() override;
27  virtual void addAuxObjects() override;
28  virtual void addMaterialDependencies() override;
29  virtual void addMaterials() override;
30 
32  const VariableName _pp_var;
33 
35  const enum class CouplingTypeEnum {
36  Hydro,
41 
43  const bool _thermal;
44  const bool _mechanical;
45 
47  const enum class FluidPropertiesTypeEnum {
50  Custom
52 
54  UserObjectName _fp;
55 
58 
60  const bool _add_darcy_aux;
61 
63  const bool _add_stress_aux;
64 
66  VariableName _nacl_name;
67 
69  const std::vector<AuxVariableName> _save_component_rate_in;
70 
73 
76 
79 
81  const std::string _base_name;
82 };
UserObjectName _fp
Name of the fluid-properties UserObject.
FluidPropertiesTypeEnum
Determines the fluid-properties type.
virtual void addMaterials() override
Add all Materials.
const Real _biot_coefficient
Fluid specific heat capacity at constant volume.
const bool _add_stress_aux
Add AuxVariables for stress.
const MooseEnum _temperature_unit
Unit used for temperature.
const VariableName _pp_var
Porepressure NonlinearVariable name.
const std::vector< AuxVariableName > _save_component_rate_in
Name of the variables (if any) that will record the fluid-components&#39; rate of change.
const bool _thermal
Flags to indicate whether thermal or mechanical effects are included.
VariableName _nacl_name
Name of the NaCl variable.
const bool _add_darcy_aux
Add a AuxVariables to record Darcy velocity.
CouplingTypeEnum
Determines the coupling type.
Base class for PorousFlow actions.
Base class for actions involving a single fluid phase.
const MooseEnum _time_unit
Unit used for time.
virtual void addKernels() override
Add all Kernels.
static InputParameters validParams()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
PorousFlowSinglePhaseBase(const InputParameters &params)
const MooseEnum _pressure_unit
Unit used for porepressure.
virtual void addMaterialDependencies() override
Add all material dependencies so that the correct version of each material can be added...
virtual void addAuxObjects() override
Add all AuxVariables and AuxKernels.
enum PorousFlowSinglePhaseBase::CouplingTypeEnum _coupling_type
virtual void addDictator() override
Add the PorousFlowDictator object.
enum PorousFlowSinglePhaseBase::FluidPropertiesTypeEnum _fluid_properties_type
const std::string _base_name
base_name used in the TensorMechanics strain calculator