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

Q2P Material. More...

#include <Q2PMaterial.h>

Inheritance diagram for Q2PMaterial:
[legend]

Public Member Functions

 Q2PMaterial (const InputParameters &parameters)
 

Protected Member Functions

virtual void computeQpProperties ()
 

Protected Attributes

Real _material_por
 porosity as entered by the user More...
 
const VariableValue & _por_change
 porosity changes. if not entered they default to zero More...
 
const VariableValue & _por_change_old
 
RealTensorValue _material_perm
 permeability as entered by the user More...
 
RealVectorValue _material_gravity
 gravity as entered by user More...
 
MaterialProperty< Real > & _porosity_old
 material properties More...
 
MaterialProperty< Real > & _porosity
 
MaterialProperty< RealTensorValue > & _permeability
 
MaterialProperty< RealVectorValue > & _gravity
 
std::vector< const VariableValue * > _perm_change
 

Detailed Description

Q2P Material.

Defines permeability, porosity and gravity

Definition at line 22 of file Q2PMaterial.h.

Constructor & Destructor Documentation

Q2PMaterial::Q2PMaterial ( const InputParameters &  parameters)

Definition at line 39 of file Q2PMaterial.C.

40  : Material(parameters),
41  _material_por(getParam<Real>("mat_porosity")),
42  _por_change(coupledValue("por_change")),
43  _por_change_old(isCoupled("por_change") ? coupledValueOld("por_change") : _zero),
44  _material_perm(getParam<RealTensorValue>("mat_permeability")),
45  _material_gravity(getParam<RealVectorValue>("gravity")),
46  _porosity_old(declareProperty<Real>("porosity_old")),
47  _porosity(declareProperty<Real>("porosity")),
48  _permeability(declareProperty<RealTensorValue>("permeability")),
49  _gravity(declareProperty<RealVectorValue>("gravity"))
50 {
51  if (isCoupled("perm_change") && (coupledComponents("perm_change") != LIBMESH_DIM * LIBMESH_DIM))
52  mooseError(LIBMESH_DIM * LIBMESH_DIM,
53  " components of perm_change must be given to a Q2PMaterial. You supplied ",
54  coupledComponents("perm_change"),
55  "\n");
56 
57  _perm_change.resize(LIBMESH_DIM * LIBMESH_DIM);
58  for (unsigned int i = 0; i < LIBMESH_DIM * LIBMESH_DIM; ++i)
59  _perm_change[i] = (isCoupled("perm_change") ? &coupledValue("perm_change", i)
60  : &_zero); // coupledValue returns a reference (an
61  // alias) to a VariableValue, and the &
62  // turns it into a pointer
63 }
const VariableValue & _por_change_old
Definition: Q2PMaterial.h:33
MaterialProperty< Real > & _porosity
Definition: Q2PMaterial.h:43
const VariableValue & _por_change
porosity changes. if not entered they default to zero
Definition: Q2PMaterial.h:32
Real _material_por
porosity as entered by the user
Definition: Q2PMaterial.h:29
MaterialProperty< RealTensorValue > & _permeability
Definition: Q2PMaterial.h:44
MaterialProperty< RealVectorValue > & _gravity
Definition: Q2PMaterial.h:45
RealVectorValue _material_gravity
gravity as entered by user
Definition: Q2PMaterial.h:39
MaterialProperty< Real > & _porosity_old
material properties
Definition: Q2PMaterial.h:42
RealTensorValue _material_perm
permeability as entered by the user
Definition: Q2PMaterial.h:36
std::vector< const VariableValue * > _perm_change
Definition: Q2PMaterial.h:47

Member Function Documentation

void Q2PMaterial::computeQpProperties ( )
protectedvirtual

Definition at line 66 of file Q2PMaterial.C.

67 {
68  _porosity[_qp] = _material_por + _por_change[_qp];
70 
72  for (unsigned int i = 0; i < LIBMESH_DIM; i++)
73  for (unsigned int j = 0; j < LIBMESH_DIM; j++)
74  _permeability[_qp](i, j) *= std::pow(10, (*_perm_change[LIBMESH_DIM * i + j])[_qp]);
75 
77 }
const VariableValue & _por_change_old
Definition: Q2PMaterial.h:33
MaterialProperty< Real > & _porosity
Definition: Q2PMaterial.h:43
const VariableValue & _por_change
porosity changes. if not entered they default to zero
Definition: Q2PMaterial.h:32
Real _material_por
porosity as entered by the user
Definition: Q2PMaterial.h:29
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
MaterialProperty< RealTensorValue > & _permeability
Definition: Q2PMaterial.h:44
MaterialProperty< RealVectorValue > & _gravity
Definition: Q2PMaterial.h:45
RealVectorValue _material_gravity
gravity as entered by user
Definition: Q2PMaterial.h:39
MaterialProperty< Real > & _porosity_old
material properties
Definition: Q2PMaterial.h:42
RealTensorValue _material_perm
permeability as entered by the user
Definition: Q2PMaterial.h:36
std::vector< const VariableValue * > _perm_change
Definition: Q2PMaterial.h:47

Member Data Documentation

MaterialProperty<RealVectorValue>& Q2PMaterial::_gravity
protected

Definition at line 45 of file Q2PMaterial.h.

Referenced by computeQpProperties().

RealVectorValue Q2PMaterial::_material_gravity
protected

gravity as entered by user

Definition at line 39 of file Q2PMaterial.h.

Referenced by computeQpProperties().

RealTensorValue Q2PMaterial::_material_perm
protected

permeability as entered by the user

Definition at line 36 of file Q2PMaterial.h.

Referenced by computeQpProperties().

Real Q2PMaterial::_material_por
protected

porosity as entered by the user

Definition at line 29 of file Q2PMaterial.h.

Referenced by computeQpProperties().

std::vector<const VariableValue *> Q2PMaterial::_perm_change
protected

Definition at line 47 of file Q2PMaterial.h.

Referenced by computeQpProperties(), and Q2PMaterial().

MaterialProperty<RealTensorValue>& Q2PMaterial::_permeability
protected

Definition at line 44 of file Q2PMaterial.h.

Referenced by computeQpProperties().

const VariableValue& Q2PMaterial::_por_change
protected

porosity changes. if not entered they default to zero

Definition at line 32 of file Q2PMaterial.h.

Referenced by computeQpProperties().

const VariableValue& Q2PMaterial::_por_change_old
protected

Definition at line 33 of file Q2PMaterial.h.

Referenced by computeQpProperties().

MaterialProperty<Real>& Q2PMaterial::_porosity
protected

Definition at line 43 of file Q2PMaterial.h.

Referenced by computeQpProperties().

MaterialProperty<Real>& Q2PMaterial::_porosity_old
protected

material properties

Definition at line 42 of file Q2PMaterial.h.

Referenced by computeQpProperties().


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