48 if ( ( mode == _2dHeMo ) || ( mode == _3dHeMo ) ) {
103 for (
int i = 1; i <= size; ++i) {
104 grad_w.at(i) = grad.
at(i);
106 for (
int i = 1; i <= size; ++i) {
107 grad_t.
at(i) = grad.
at(i+size);
135 if ( ( mode == Conductivity_ww ) || ( mode == Conductivity_hh ) || ( mode == Conductivity_hw ) || ( mode == Conductivity_wh ) ) {
157 this->
matcond2d(answer, gp, mode, atTime);
161 this->
matcond3d(answer, gp, mode, atTime);
173 double k = 0.0, h = 0.0, t = 0.0;
185 if ( mode == Conductivity_ww ) {
187 }
else if ( mode == Conductivity_wh ) {
189 }
else if ( mode == Conductivity_hw ) {
191 }
else if ( mode == Conductivity_hh ) {
204 double k = 0.0, h = 0.0, t = 0.0;
215 if ( mode == Conductivity_ww ) {
217 }
else if ( mode == Conductivity_wh ) {
219 }
else if ( mode == Conductivity_hw ) {
221 }
else if ( mode == Conductivity_hh ) {
237 double k = 0.0, h = 0.0, t = 0.0;
248 if ( mode == Conductivity_ww ) {
250 }
else if ( mode == Conductivity_wh ) {
252 }
else if ( mode == Conductivity_hw ) {
254 }
else if ( mode == Conductivity_hh ) {
275 if ( mode == Capacity_ww ) {
278 }
else if ( mode == Capacity_wh ) {
281 }
else if ( mode == Capacity_hw ) {
284 }
else if ( mode == Capacity_hh ) {
298 return (
C1 * (
alpha0 + ( 1. -
alpha0 ) / ( 1. + pow( ( 1. - h ) / ( 1. -
hC ),
n ) ) ) );
322 if ( ( mode == Conductivity_ww ) || ( mode == Conductivity_hh ) || ( mode == Conductivity_hw ) || ( mode == Conductivity_wh ) ) {
335 if ( type == IST_Humidity ) {
virtual bool isCharacteristicMtrxSymmetric(MatResponseMode rMode)
Returns true if stiffness matrix of receiver is symmetric Default implementation returns true...
InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
MaterialMode giveMaterialMode()
Returns corresponding material mode of receiver.
const FloatArray & giveTempField()
Return last field.
double heatConductivity
Conductivity (k in input file).
double hC
nonlinear threshold [-]
#define _IFT_HeMoBazNajMaterial_hc
virtual MaterialStatus * giveStatus(GaussPoint *gp) const
Returns material status of receiver in given integration point.
double perm_mh(double h, double T)
double & at(int i)
Coefficient access function.
#define _IFT_HeMoBazNajMaterial_alpha0
virtual double giveHumidity(GaussPoint *gp, ValueModeType mode)
Returns positive value of humidity if implemented and enabled in derived material, -1 otherwise.
void matcond3d(FloatMatrix &d, GaussPoint *gp, MatResponseMode mode, TimeStep *atTime)
const char * __MatResponseModeToString(MatResponseMode _value)
virtual int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep)
Returns the integration point corresponding value in Reduced form.
#define _IFT_HeMoBazNajMaterial_c
Specific heat.
double computeCapacityCoeff(MatResponseMode mode, GaussPoint *gp, TimeStep *atTime)
double C1
maximal permeability [kg/ m s]
This class implements a transport material status information.
void matcond2d(FloatMatrix &d, GaussPoint *gp, MatResponseMode mode, TimeStep *atTime)
MaterialMode
Type representing material mode of integration point.
MatResponseMode
Describes the character of characteristic material matrix.
double heatCapacity
Capacity (c in input file).
void beScaled(double s, const FloatArray &b)
Sets receiver to be .
virtual double give(int aProperty, GaussPoint *gp)
Returns the value of material property 'aProperty'.
double n
exponent in nonlinear permeability function [-]
double perm_mm(double h, double T)
virtual double giveCharacteristicValue(MatResponseMode mode, GaussPoint *gp, TimeStep *atTime)
Computes the characteristic value of receiver in given integration point, respecting its history...
void computeConductivityMtrx(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *atTime)
void addSubVector(const FloatArray &src, int si)
Adds the given vector as sub-vector to receiver.
#define _IFT_HeMoBazNajMaterial_c1
void setTempField(FloatArray newField)
Set field.
#define _IFT_HeMoBazNajMaterial_k
Conductivity.
bool isEmpty() const
Returns true if receiver is empty.
double at(int i, int j) const
Coefficient access function.
double perm_hm(double h, double T)
double alpha0
fraction minimal/maximal permeability [-]
void setTempGradient(FloatArray grad)
Set gradient.
Class representing vector of real numbers.
virtual double give(int aProperty, GaussPoint *gp)
Returns the value of material property 'aProperty'.
void matcond1d(FloatMatrix &d, GaussPoint *gp, MatResponseMode mode, TimeStep *atTime)
Implementation of matrix containing floating point numbers.
double perm_hh(double h, double T)
IRResultType
Type defining the return values of InputRecord reading operations.
void setTempFlux(FloatArray w)
Set flux.
void resize(int rows, int cols)
Checks size of receiver towards requested bounds.
virtual int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *atTime)
Returns the integration point corresponding value in Reduced form.
virtual int hasMaterialModeCapability(MaterialMode mode)
Tests if material supports material mode.
void zero()
Zeroes all coefficients of receiver.
#define _IFT_HeMoBazNajMaterial_n
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
double moistureCapacity
sorption isotherm derivative [kg/m^3]
#define _IFT_HeMoBazNajMaterial_capa
REGISTER_Material(DummyMaterial)
int giveSize() const
Returns the size of receiver.
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
Class representing integration point in finite element program.
Class representing solution step.
virtual void giveFluxVector(FloatArray &answer, GaussPoint *gp, const FloatArray &grad, const FloatArray &field, TimeStep *tStep)
Returns the flux for the field and its gradient.
void resize(int s)
Resizes receiver towards requested size.
virtual void giveCharacteristicMatrix(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *atTime)
Computes characteristic matrix of receiver in given integration point.