46HeMoBazNajMaterial :: hasMaterialModeCapability(MaterialMode mode)
const
48 return mode == _2dHeMo || mode == _3dHeMo;
55 Material :: initializeFrom(ir);
71HeMoBazNajMaterial :: give(
int aProperty,
GaussPoint *gp)
const
73 return this->Material :: give(aProperty, gp);
85 ms->setTempTemperature(t);
86 ms->setTempTemperatureGradient(grad_t);
87 ms->setTempHeatFlux(ans_t);
88 ms->setTempHumidity(h);
89 ms->setTempHumidityGradient(grad_w);
90 ms->setTempHumidityFlux(ans_w);
92 return {ans_t, ans_w};
97HeMoBazNajMaterial :: computeTangent3D(MatResponseMode mode,
GaussPoint *gp,
TimeStep *tStep)
const
102 double h = status->giveTempHumidity();
105 if ( mode == Conductivity_ww ) {
107 }
else if ( mode == Conductivity_wh ) {
109 }
else if ( mode == Conductivity_hw ) {
111 }
else if ( mode == Conductivity_hh ) {
122HeMoBazNajMaterial :: giveCharacteristicValue(MatResponseMode mode,
130double HeMoBazNajMaterial :: computeCapacityCoeff(MatResponseMode mode,
GaussPoint *gp,
TimeStep *atTime)
const
132 if ( mode == Capacity_ww ) {
135 }
else if ( mode == Capacity_wh ) {
138 }
else if ( mode == Capacity_hw ) {
141 }
else if ( mode == Capacity_hh ) {
151HeMoBazNajMaterial :: perm_mm(
double h,
double T)
const
153 return C1 * (
alpha0 + ( 1. -
alpha0 ) / ( 1. + pow( ( 1. - h ) / ( 1. -
hC ),
n ) ) );
157HeMoBazNajMaterial :: perm_mh(
double h,
double T)
const
163HeMoBazNajMaterial :: perm_hm(
double h,
double T)
const
169HeMoBazNajMaterial :: perm_hh(
double h,
double T)
const
175HeMoBazNajMaterial :: isCharacteristicMtrxSymmetric(MatResponseMode mode)
const
177 if ( mode == Conductivity_ww || mode == Conductivity_hh || mode == Conductivity_hw || mode == Conductivity_wh ) {
180 OOFEM_ERROR(
"isCharacteristicMtrxSymmetric : unknown mode (%s)", __MatResponseModeToString(mode) );
190 if ( type == IST_Humidity ) {
195 return TransportMaterial :: giveIPValue(answer, gp, type, atTime);
#define REGISTER_Material(class)
double n
exponent in nonlinear permeability function [-]
double computeCapacityCoeff(MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const
double perm_mh(double h, double T) const
double perm_hm(double h, double T) const
double heatCapacity
Capacity (c in input file).
double moistureCapacity
sorption isotherm derivative [kg/m^3]
double heatConductivity
Conductivity (k in input file).
double hC
nonlinear threshold [-]
double perm_hh(double h, double T) const
double perm_mm(double h, double T) const
double C1
maximal permeability [kg/ m s]
double alpha0
fraction minimal/maximal permeability [-]
double giveTempTemperature() const
Return last field.
virtual MaterialStatus * giveStatus(GaussPoint *gp) const
virtual double giveHumidity(GaussPoint *gp, ValueModeType mode) const
#define _IFT_HeMoBazNajMaterial_capa
#define _IFT_HeMoBazNajMaterial_c1
#define _IFT_HeMoBazNajMaterial_c
Specific heat.
#define _IFT_HeMoBazNajMaterial_hc
#define _IFT_HeMoBazNajMaterial_n
#define _IFT_HeMoBazNajMaterial_k
Conductivity.
#define _IFT_HeMoBazNajMaterial_alpha0
FloatMatrixF< N, N > eye()
Constructs an identity matrix.