www.mooseframework.org
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PorousFlowThermalConductivityIdeal Class Reference

This material computes thermal conductivity for a PorousMedium - fluid system, by using Thermal conductivity = dry_thermal_conductivity + S^exponent * (wet_thermal_conductivity - dry_thermal_conductivity), where S is the aqueous saturation. More...

#include <PorousFlowThermalConductivityIdeal.h>

Inheritance diagram for PorousFlowThermalConductivityIdeal:
[legend]

Public Member Functions

 PorousFlowThermalConductivityIdeal (const InputParameters &parameters)
 

Protected Member Functions

virtual void computeQpProperties () override
 

Protected Attributes

const RealTensorValue _la_dry
 Dry thermal conductivity of rock. More...
 
const bool _wet_and_dry_differ
 Whether _la_wet has been supplied. More...
 
const RealTensorValue _la_wet
 Wet thermal conductivity of rock. More...
 
const Real _exponent
 exponent for saturation More...
 
const bool _aqueous_phase
 whether this is a fluid simulation More...
 
const unsigned _aqueous_phase_number
 Phase number of the aqueous phase. More...
 
const MaterialProperty< std::vector< Real > > *const _saturation_qp
 Saturation of the fluid phases at the quadpoints. More...
 
const MaterialProperty< std::vector< std::vector< Real > > > *const _dsaturation_qp_dvar
 d(Saturation)/d(PorousFlow variable) More...
 
MaterialProperty< RealTensorValue > & _la_qp
 Thermal conducitivity at the qps. More...
 
MaterialProperty< std::vector< RealTensorValue > > & _dla_qp_dvar
 d(thermal conductivity at the qps)/d(PorousFlow variable) More...
 
const unsigned int _num_phases
 Number of phases. More...
 
const unsigned int _num_components
 Number of fluid components. More...
 
const unsigned int _num_var
 Number of PorousFlow variables. More...
 

Detailed Description

This material computes thermal conductivity for a PorousMedium - fluid system, by using Thermal conductivity = dry_thermal_conductivity + S^exponent * (wet_thermal_conductivity - dry_thermal_conductivity), where S is the aqueous saturation.

Definition at line 25 of file PorousFlowThermalConductivityIdeal.h.

Constructor & Destructor Documentation

PorousFlowThermalConductivityIdeal::PorousFlowThermalConductivityIdeal ( const InputParameters &  parameters)

Definition at line 41 of file PorousFlowThermalConductivityIdeal.C.

43  : PorousFlowMaterialVectorBase(parameters),
44  _la_dry(getParam<RealTensorValue>("dry_thermal_conductivity")),
45  _wet_and_dry_differ(parameters.isParamValid("wet_thermal_conductivity")),
46  _la_wet(_wet_and_dry_differ ? getParam<RealTensorValue>("wet_thermal_conductivity")
47  : getParam<RealTensorValue>("dry_thermal_conductivity")),
48  _exponent(getParam<Real>("exponent")),
50  _aqueous_phase_number(getParam<unsigned>("aqueous_phase_number")),
52  ? &getMaterialProperty<std::vector<Real>>("PorousFlow_saturation_qp")
53  : nullptr),
56  ? &getMaterialProperty<std::vector<std::vector<Real>>>("dPorousFlow_saturation_qp_dvar")
57  : nullptr),
58  _la_qp(declareProperty<RealTensorValue>("PorousFlow_thermal_conductivity_qp")),
60  declareProperty<std::vector<RealTensorValue>>("dPorousFlow_thermal_conductivity_qp_dvar"))
61 {
63  mooseError("PorousFlowThermalConductivityIdeal: Your aqueous phase number, ",
65  " must not exceed the number of fluid phases in the system, which is ",
67  "\n");
68  if (_nodal_material == true)
69  mooseError("PorousFlowThermalConductivity classes are only defined for at_nodes = false");
70 }
const Real _exponent
exponent for saturation
const unsigned int _num_phases
Number of phases.
const RealTensorValue _la_wet
Wet thermal conductivity of rock.
MaterialProperty< RealTensorValue > & _la_qp
Thermal conducitivity at the qps.
MaterialProperty< std::vector< RealTensorValue > > & _dla_qp_dvar
d(thermal conductivity at the qps)/d(PorousFlow variable)
const bool _wet_and_dry_differ
Whether _la_wet has been supplied.
const bool _aqueous_phase
whether this is a fluid simulation
const RealTensorValue _la_dry
Dry thermal conductivity of rock.
PorousFlowMaterialVectorBase(const InputParameters &parameters)
const MaterialProperty< std::vector< Real > > *const _saturation_qp
Saturation of the fluid phases at the quadpoints.
const unsigned _aqueous_phase_number
Phase number of the aqueous phase.
const MaterialProperty< std::vector< std::vector< Real > > > *const _dsaturation_qp_dvar
d(Saturation)/d(PorousFlow variable)

Member Function Documentation

void PorousFlowThermalConductivityIdeal::computeQpProperties ( )
overrideprotectedvirtual

Definition at line 73 of file PorousFlowThermalConductivityIdeal.C.

74 {
75  _la_qp[_qp] = _la_dry;
77  _la_qp[_qp] +=
79 
80  _dla_qp_dvar[_qp].assign(_num_var, RealTensorValue());
82  for (unsigned v = 0; v < _num_var; ++v)
83  _dla_qp_dvar[_qp][v] =
85  (*_dsaturation_qp_dvar)[_qp][_aqueous_phase_number][v] * (_la_wet - _la_dry);
86 }
const Real _exponent
exponent for saturation
const RealTensorValue _la_wet
Wet thermal conductivity of rock.
MaterialProperty< RealTensorValue > & _la_qp
Thermal conducitivity at the qps.
MaterialProperty< std::vector< RealTensorValue > > & _dla_qp_dvar
d(thermal conductivity at the qps)/d(PorousFlow variable)
const bool _wet_and_dry_differ
Whether _la_wet has been supplied.
const bool _aqueous_phase
whether this is a fluid simulation
const RealTensorValue _la_dry
Dry thermal conductivity of rock.
const unsigned int _num_var
Number of PorousFlow variables.
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
const MaterialProperty< std::vector< Real > > *const _saturation_qp
Saturation of the fluid phases at the quadpoints.
const unsigned _aqueous_phase_number
Phase number of the aqueous phase.

Member Data Documentation

const bool PorousFlowThermalConductivityIdeal::_aqueous_phase
protected

whether this is a fluid simulation

Definition at line 46 of file PorousFlowThermalConductivityIdeal.h.

Referenced by computeQpProperties(), and PorousFlowThermalConductivityIdeal().

const unsigned PorousFlowThermalConductivityIdeal::_aqueous_phase_number
protected

Phase number of the aqueous phase.

Definition at line 49 of file PorousFlowThermalConductivityIdeal.h.

Referenced by computeQpProperties(), and PorousFlowThermalConductivityIdeal().

MaterialProperty<std::vector<RealTensorValue> >& PorousFlowThermalConductivityIdeal::_dla_qp_dvar
protected

d(thermal conductivity at the qps)/d(PorousFlow variable)

Definition at line 61 of file PorousFlowThermalConductivityIdeal.h.

Referenced by computeQpProperties().

const MaterialProperty<std::vector<std::vector<Real> > >* const PorousFlowThermalConductivityIdeal::_dsaturation_qp_dvar
protected

d(Saturation)/d(PorousFlow variable)

Definition at line 55 of file PorousFlowThermalConductivityIdeal.h.

const Real PorousFlowThermalConductivityIdeal::_exponent
protected

exponent for saturation

Definition at line 43 of file PorousFlowThermalConductivityIdeal.h.

Referenced by computeQpProperties().

const RealTensorValue PorousFlowThermalConductivityIdeal::_la_dry
protected

Dry thermal conductivity of rock.

Definition at line 34 of file PorousFlowThermalConductivityIdeal.h.

Referenced by computeQpProperties().

MaterialProperty<RealTensorValue>& PorousFlowThermalConductivityIdeal::_la_qp
protected

Thermal conducitivity at the qps.

Definition at line 58 of file PorousFlowThermalConductivityIdeal.h.

Referenced by computeQpProperties().

const RealTensorValue PorousFlowThermalConductivityIdeal::_la_wet
protected

Wet thermal conductivity of rock.

Definition at line 40 of file PorousFlowThermalConductivityIdeal.h.

Referenced by computeQpProperties().

const unsigned int PorousFlowMaterialVectorBase::_num_components
protectedinherited
const unsigned int PorousFlowMaterialVectorBase::_num_phases
protectedinherited
const unsigned int PorousFlowMaterialVectorBase::_num_var
protectedinherited
const MaterialProperty<std::vector<Real> >* const PorousFlowThermalConductivityIdeal::_saturation_qp
protected

Saturation of the fluid phases at the quadpoints.

Definition at line 52 of file PorousFlowThermalConductivityIdeal.h.

Referenced by computeQpProperties().

const bool PorousFlowThermalConductivityIdeal::_wet_and_dry_differ
protected

Whether _la_wet has been supplied.

Definition at line 37 of file PorousFlowThermalConductivityIdeal.h.

Referenced by computeQpProperties().


The documentation for this class was generated from the following files: