forked from idaholab/moose
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request idaholab#12 from cpgr/por_flow_initial_6740
Changes to use derivative material interface properly
- Loading branch information
Showing
58 changed files
with
1,297 additions
and
325 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
47 changes: 47 additions & 0 deletions
47
modules/porous_flow/include/materials/PorousFlowMaterialCapillaryPressureBase.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
/****************************************************************/ | ||
/* MOOSE - Multiphysics Object Oriented Simulation Environment */ | ||
/* */ | ||
/* All contents are licensed under LGPL V2.1 */ | ||
/* See LICENSE for full restrictions */ | ||
/****************************************************************/ | ||
|
||
|
||
#ifndef POROUSFLOWMATERIALCAPILLARYPRESSUREBASE_H | ||
#define POROUSFLOWMATERIALCAPILLARYPRESSUREBASE_H | ||
|
||
#include "DerivativeMaterialInterface.h" | ||
#include "Material.h" | ||
#include "PorousFlowDictator.h" | ||
|
||
class PorousFlowMaterialCapillaryPressureBase; | ||
|
||
template<> | ||
InputParameters validParams<PorousFlowMaterialCapillaryPressureBase>(); | ||
|
||
/** | ||
* Base class for relative permeability materials | ||
*/ | ||
class PorousFlowMaterialCapillaryPressureBase : public DerivativeMaterialInterface<Material> | ||
{ | ||
public: | ||
PorousFlowMaterialCapillaryPressureBase(const InputParameters & parameters); | ||
|
||
protected: | ||
|
||
virtual void computeQpProperties(); | ||
|
||
/// Phase number of fluid that this relative permeability relates to | ||
const unsigned int _phase_num; | ||
/// Saturation material property | ||
const MaterialProperty<std::vector<Real> > & _saturation; | ||
/// Name of (dummy) saturation primary variable | ||
VariableName _saturation_variable_name; | ||
/// Capillary pressure material property | ||
MaterialProperty<Real> & _capillary_pressure; | ||
/// Derivative of capillary pressure wrt phase saturation | ||
MaterialProperty<Real> & _dcapillary_pressure_ds; | ||
/// The PorousFlowDictator UserObject | ||
const PorousFlowDictator & _dictator_UO; | ||
}; | ||
|
||
#endif //POROUSFLOWMATERIALCAPILLARYPRESSUREBASE_H |
34 changes: 34 additions & 0 deletions
34
modules/porous_flow/include/materials/PorousFlowMaterialCapillaryPressureConstant.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
/****************************************************************/ | ||
/* MOOSE - Multiphysics Object Oriented Simulation Environment */ | ||
/* */ | ||
/* All contents are licensed under LGPL V2.1 */ | ||
/* See LICENSE for full restrictions */ | ||
/****************************************************************/ | ||
|
||
|
||
#ifndef POROUSFLOWMATERIALCAPILLARYPRESSURECONSTANT_H | ||
#define POROUSFLOWMATERIALCAPILLARYPRESSURECONSTANT_H | ||
|
||
#include "PorousFlowMaterialCapillaryPressureBase.h" | ||
|
||
class PorousFlowMaterialCapillaryPressureConstant; | ||
|
||
template<> | ||
InputParameters validParams<PorousFlowMaterialCapillaryPressureConstant>(); | ||
|
||
/** | ||
* Returns a constant capillary pressure as specified in the input file | ||
*/ | ||
class PorousFlowMaterialCapillaryPressureConstant : public PorousFlowMaterialCapillaryPressureBase | ||
{ | ||
public: | ||
PorousFlowMaterialCapillaryPressureConstant(const InputParameters & parameters); | ||
|
||
protected: | ||
|
||
virtual void computeQpProperties(); | ||
/// The capillary pressure (Pa) | ||
Real _pc; | ||
}; | ||
|
||
#endif //POROUSFLOWMATERIALCAPILLARYPRESSURECONSTANT_H |
35 changes: 35 additions & 0 deletions
35
modules/porous_flow/include/materials/PorousFlowMaterialCapillaryPressureLinear.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
/****************************************************************/ | ||
/* MOOSE - Multiphysics Object Oriented Simulation Environment */ | ||
/* */ | ||
/* All contents are licensed under LGPL V2.1 */ | ||
/* See LICENSE for full restrictions */ | ||
/****************************************************************/ | ||
|
||
|
||
#ifndef POROUSFLOWMATERIALCAPILLARYPRESSURELINEAR_H | ||
#define POROUSFLOWMATERIALCAPILLARYPRESSURELINEAR_H | ||
|
||
#include "PorousFlowMaterialCapillaryPressureBase.h" | ||
|
||
//Forward Declarations | ||
class PorousFlowMaterialCapillaryPressureLinear; | ||
|
||
template<> | ||
InputParameters validParams<PorousFlowMaterialCapillaryPressureLinear>(); | ||
|
||
/** | ||
* Linear capillary pressure (equal to the phase saturation) | ||
*/ | ||
class PorousFlowMaterialCapillaryPressureLinear : public PorousFlowMaterialCapillaryPressureBase | ||
{ | ||
public: | ||
PorousFlowMaterialCapillaryPressureLinear(const InputParameters & parameters); | ||
|
||
protected: | ||
|
||
virtual void computeQpProperties(); | ||
/// The maximum value of the capillary pressure | ||
Real _pc_max; | ||
}; | ||
|
||
#endif //POROUSFLOWMATERIALCAPILLARYPRESSURELINEAR_H |
Oops, something went wrong.