saltmat3 Class Reference

#include <saltmat3.h>

List of all members.

Public Member Functions

void aux_values (long ipp)
void auxiliarydata (double x1, double x2, double x3)
void binding_izoterm_derivation (double x2, double &derbi)
void binding_izoterm_derivation_values (int kod, long ipp, double &dcbdcf, double x2)
double c11 (double x1, double x2, double x3, long ipp)
double c12 (double x1, double x2, double x3, long ipp)
double c13 (double x1, double x2, double x3, long ipp)
double c21 (double x1, double x2, double x3, long ipp)
double c22 (double x1, double x2, double x3, long ipp)
double c23 (double x1, double x2, double x3, long ipp)
double c31 (double x1, double x2, double x3, long ipp)
double c32 (double x1, double x2, double x3, long ipp)
double c33 (double x1, double x2, double x3, long ipp)
void Cf_check (double cf, double w, long ipp)
void der_value_hyst (int matchar, int kod, double pv, double &outvalue, double &outvalue2, long ipp)
double derivation_dy_dx (int matchar, double prom, int pomk1, int pomk2)
double diffcoefiont (int kod, double x1, double x2, double x3)
double get_moisture (double rh)
double get_othervalue (long compother, long ipp, double x1, double x2, double x3)
double get_rel_hum (double w)
double get_transmission_flux_11 (double bv, double x1, double x2, double x3, long bc, long ipp)
double get_transmission_nodval_11 (double bv, double x1, double x2, double x3, long bc, long ipp)
double get_transmission_transcoeff_11 (double x1, double x2, double x3, long bc, long ipp)
void hystereze (int matchar, int matchar2, double &outvalue, long ipp)
void initvalues (long ipp, long ido)
void inverze_sorption_izoterm_data (double x1, double &fi, double &dfi)
double k11 (double x1, double x2, double x3, long ipp)
double k12 (double x1, double x2, double x3, long ipp)
double k13 (double x1, double x2, double x3, long ipp)
double k21 (double x1, double x2, double x3, long ipp)
double k22 (double x1, double x2, double x3, long ipp)
double k23 (double x1, double x2, double x3, long ipp)
double k31 (double x1, double x2, double x3, long ipp)
double k32 (double x1, double x2, double x3, long ipp)
double k33 (double x1, double x2, double x3, long ipp)
double kapa (int kod, double x1, double x2, double x3)
void kapa_values (int kod, long ipp, double &kapa, double av)
double linear_data (int kod, double x1, double x2, double x3)
void matcap (double &c, long ri, long ci, long ipp)
void matcond (matrix &d, long ri, long ci, long ipp)
void matcond1d (matrix &d, long ri, long ci, long ipp)
void matcond2 (matrix &d, long ri, long ci, long ipp)
void matcond2d (matrix &d, long ri, long ci, long ipp)
void matcond2d2 (matrix &d, long ri, long ci, long ipp)
void matcond3d (matrix &d, long ri, long ci, long ipp)
double permeabilitavodnipary (double t, double p)
double pgws (double t)
void print_othervalue_name (FILE *out, long compother)
void read (XFILE *in)
void salt_diffusivity_values (int kod, long ipp, double &diff, double x2)
 saltmat3 (void)
void sisotherm (int kod, double x1, double &fiw, double &dfdw)
double transmission_flux (double nodval, long ri, long ci, long nn, long bc, long ipp)
double transmission_nodval (double nodval, long ri, long ci, long nn, long bc, long ipp)
double transmission_transcoeff (double trc, long ri, long ci, long nn, long bc, long ipp)
void values_correction (vector &nv, long ipp)
 ~saltmat3 (void)

Public Attributes

double gasr
double ma
double mw

Private Member Functions

void CorD (int cislochar, int &kvyhl, double in, double x, double &y, double &z, double &z2)

Private Attributes

double a1
double a2
double a3
double Init [20]
double k1 [20]
double k2 [20]
double k3 [20]
double k4 [20]
double k5 [20]
double k6 [20]
int kd
int MatChar [20]
double MatConst [20]
double MatData [20][4][150]
double MatFunce [20][5]

Detailed Description

class describes material model which deals with simultaneous transport of moisture, salt and salt crystals

model uses array eqother eqother[0] - moisture diffusivity (kappa) eqother[1] - binding izoterm eqother[2] - salt diffusivity (D) eqother[3] - ???

JM, 29.5.2007

Definition at line 19 of file saltmat3.h.


Constructor & Destructor Documentation

saltmat3 ( void   ) 

Definition at line 40 of file saltmat3.cpp.

References gasr, ma, and mw.

~saltmat3 ( void   ) 

Definition at line 48 of file saltmat3.cpp.


Member Function Documentation

void aux_values ( long  ipp  ) 

function computes auxiliary values which are necessary for future computation

JM, 29.5.2007

Definition at line 1299 of file saltmat3.cpp.

References a1, a2, intpointst::av, binding_izoterm_derivation_values(), CorD(), intpointst::eqother, transmat::ip, kapa_values(), kd, MatChar, salt_diffusivity_values(), and Tm.

Referenced by transmat::aux_values(), and transmat::mat_aux_values().

void auxiliarydata ( double  x1,
double  x2,
double  x3 
)

Definition at line 747 of file saltmat3.cpp.

void binding_izoterm_derivation ( double  x2,
double &  derbi 
)

Definition at line 1177 of file saltmat3.cpp.

References MatData.

Referenced by binding_izoterm_derivation_values().

void binding_izoterm_derivation_values ( int  kod,
long  ipp,
double &  dcbdcf,
double  x2 
)

Definition at line 1254 of file saltmat3.cpp.

References a3, intpointst::av, binding_izoterm_derivation(), Cb, CorD(), hystereze(), transmat::ip, and Tm.

Referenced by aux_values().

double c11 ( double  x1,
double  x2,
double  x3,
long  ipp 
)
double c12 ( double  x1,
double  x2,
double  x3,
long  ipp 
)

Definition at line 634 of file saltmat3.cpp.

Referenced by matcap().

double c13 ( double  x1,
double  x2,
double  x3,
long  ipp 
)

Definition at line 643 of file saltmat3.cpp.

Referenced by matcap().

double c21 ( double  x1,
double  x2,
double  x3,
long  ipp 
)

Definition at line 652 of file saltmat3.cpp.

References intpointst::eqother, transmat::ip, and Tm.

Referenced by matcap().

double c22 ( double  x1,
double  x2,
double  x3,
long  ipp 
)

Definition at line 670 of file saltmat3.cpp.

References CorD(), intpointst::eqother, transmat::ip, and Tm.

Referenced by matcap().

double c23 ( double  x1,
double  x2,
double  x3,
long  ipp 
)

Definition at line 687 of file saltmat3.cpp.

Referenced by matcap().

double c31 ( double  x1,
double  x2,
double  x3,
long  ipp 
)

Definition at line 696 of file saltmat3.cpp.

References intpointst::eqother, transmat::ip, and Tm.

Referenced by matcap().

double c32 ( double  x1,
double  x2,
double  x3,
long  ipp 
)

Definition at line 713 of file saltmat3.cpp.

References CorD(), intpointst::eqother, transmat::ip, and Tm.

Referenced by matcap().

double c33 ( double  x1,
double  x2,
double  x3,
long  ipp 
)

Definition at line 736 of file saltmat3.cpp.

Referenced by matcap().

void Cf_check ( double  cf,
double  w,
long  ipp 
)
void CorD ( int  cislochar,
int &  kvyhl,
double  in,
double  x,
double &  y,
double &  z,
double &  z2 
) [private]
void der_value_hyst ( int  matchar,
int  kod,
double  pv,
double &  outvalue,
double &  outvalue2,
long  ipp 
)

Definition at line 1548 of file saltmat3.cpp.

References MatData.

Referenced by hystereze().

double derivation_dy_dx ( int  matchar,
double  prom,
int  pomk1,
int  pomk2 
)

Definition at line 1644 of file saltmat3.cpp.

References MatData.

Referenced by c11(), and k11().

double diffcoefiont ( int  kod,
double  x1,
double  x2,
double  x3 
)
double get_moisture ( double  rh  ) 

Definition at line 1584 of file saltmat3.cpp.

References a1, a2, a3, CorD(), and MatChar.

Referenced by transmat::values_transformation().

double get_othervalue ( long  compother,
long  ipp,
double  x1,
double  x2,
double  x3 
)

function computes all variables in nodes

Parameters:
compother - number of other components
ipp - first integration point on element
x1 ... x3 - actual unknowns on the boundary

Definition at line 1007 of file saltmat3.cpp.

References other.

double get_rel_hum ( double  w  ) 
double get_transmission_flux_11 ( double  bv,
double  x1,
double  x2,
double  x3,
long  bc,
long  ipp 
)

function creates flux on the boundary (transmission - convective mass transfer) for 1st medium

Parameters:
new_nodval - flux on the boundary
bv - prescribed value near the boundary
x1 ... x3 - actual unknowns on the boundary
bc - type of boundary condition
ipp - number of first integration point on element

Definition at line 982 of file saltmat3.cpp.

References flux.

Referenced by transmission_flux().

double get_transmission_nodval_11 ( double  bv,
double  x1,
double  x2,
double  x3,
long  bc,
long  ipp 
)

function creates correct new nodal value on the boundary (transmission) for 1st medium

Parameters:
new_nodval - new prescribed value near the boundary
bv - value of prescribed value near the boundary
x1 ... x3 - actual unknowns on the boundary
bc - type of boundary condition
ipp - number of first integration point on element

Definition at line 929 of file saltmat3.cpp.

References nodval().

Referenced by transmission_nodval().

double get_transmission_transcoeff_11 ( double  x1,
double  x2,
double  x3,
long  bc,
long  ipp 
)

function creates correct transfer coefficient on the boundary (transmission) for 1st medium

Parameters:
f11 - correct transfer coefficient
x1 ... x3 - actual unknowns on the boundary
bc - type of boundary condition
ipp - number of first integration point on element

Definition at line 955 of file saltmat3.cpp.

Referenced by transmission_transcoeff().

void hystereze ( int  matchar,
int  matchar2,
double &  outvalue,
long  ipp 
)
void initvalues ( long  ipp,
long  ido 
)

function defines inital values of quantities at integration points

Parameters:
ipp - integration point pointer
ido - index in array eq_other

JM, 29.5.2007

Definition at line 1329 of file saltmat3.cpp.

References intpointst::eqother, Init, transmat::ip, MatChar, and Tm.

Referenced by transmat::initvalues().

void inverze_sorption_izoterm_data ( double  x1,
double &  fi,
double &  dfi 
)
double k11 ( double  x1,
double  x2,
double  x3,
long  ipp 
)
double k12 ( double  x1,
double  x2,
double  x3,
long  ipp 
)

Definition at line 498 of file saltmat3.cpp.

References CorD(), intpointst::eqother, transmat::ip, and Tm.

Referenced by matcond1d(), matcond2d(), and matcond3d().

double k13 ( double  x1,
double  x2,
double  x3,
long  ipp 
)

Definition at line 514 of file saltmat3.cpp.

Referenced by matcond1d(), matcond2d(), and matcond3d().

double k21 ( double  x1,
double  x2,
double  x3,
long  ipp 
)

Definition at line 523 of file saltmat3.cpp.

References intpointst::eqother, transmat::ip, and Tm.

Referenced by matcond1d(), matcond2d(), and matcond3d().

double k22 ( double  x1,
double  x2,
double  x3,
long  ipp 
)

Definition at line 534 of file saltmat3.cpp.

References CorD(), intpointst::eqother, transmat::ip, and Tm.

Referenced by matcond1d(), matcond2d(), and matcond3d().

double k23 ( double  x1,
double  x2,
double  x3,
long  ipp 
)

Definition at line 551 of file saltmat3.cpp.

Referenced by matcond1d(), matcond2d(), and matcond3d().

double k31 ( double  x1,
double  x2,
double  x3,
long  ipp 
)

Definition at line 560 of file saltmat3.cpp.

Referenced by matcond1d(), matcond2d(), and matcond3d().

double k32 ( double  x1,
double  x2,
double  x3,
long  ipp 
)

Definition at line 569 of file saltmat3.cpp.

Referenced by matcond1d(), matcond2d(), and matcond3d().

double k33 ( double  x1,
double  x2,
double  x3,
long  ipp 
)

Definition at line 578 of file saltmat3.cpp.

Referenced by matcond1d(), matcond2d(), and matcond3d().

double kapa ( int  kod,
double  x1,
double  x2,
double  x3 
)
void kapa_values ( int  kod,
long  ipp,
double &  kapa,
double  av 
)

Definition at line 1193 of file saltmat3.cpp.

References CorD(), and hystereze().

Referenced by aux_values().

double linear_data ( int  kod,
double  x1,
double  x2,
double  x3 
)
void matcap ( double &  c,
long  ri,
long  ci,
long  ipp 
)

function creates capacity matrix of the material

Parameters:
c - capacity matrix of the material
ri - row index
ci - column index
ipp - number of integration point

Definition at line 296 of file saltmat3.cpp.

References intpointst::av, c11(), c12(), c13(), c21(), c22(), c23(), c31(), c32(), c33(), transmat::ip, and Tm.

Referenced by med3::matcap().

void matcond ( matrix d,
long  ri,
long  ci,
long  ipp 
)

function computes conductivity matrix of the material in the required integration point

Parameters:
d - conductivity matrix of material
ri - row index
ci - column index
ipp - number of integration point

Definition at line 62 of file saltmat3.cpp.

References matcond1d(), matcond2d(), matcond3d(), and matrix::n.

Referenced by med3::matcond().

void matcond1d ( matrix d,
long  ri,
long  ci,
long  ipp 
)

function creates conductivity matrix of the material for 1D problems

Parameters:
d - conductivity matrix of the material
ri - row index
ci - column index
ipp - number of integration point

Definition at line 130 of file saltmat3.cpp.

References intpointst::av, intpointst::eqother, transmat::ip, k11(), k12(), k13(), k21(), k22(), k23(), k31(), k32(), k33(), and Tm.

Referenced by matcond().

void matcond2 ( matrix d,
long  ri,
long  ci,
long  ipp 
)

function computes conductivity matrix of the material in the required integration point

Parameters:
d - conductivity matrix of material
ri - row index
ci - column index
ipp - number of integration point

Definition at line 97 of file saltmat3.cpp.

References matcond2d2(), and matrix::n.

Referenced by med3::matcond2().

void matcond2d ( matrix d,
long  ri,
long  ci,
long  ipp 
)

function creates conductivity matrix of the material for 2D problems

Parameters:
d - conductivity matrix of the material
ri - row index
ci - column index
ipp - number of integration point

Definition at line 186 of file saltmat3.cpp.

References intpointst::av, intpointst::eqother, fillm(), transmat::ip, k11(), k12(), k13(), k21(), k22(), k23(), k31(), k32(), k33(), and Tm.

Referenced by matcond().

void matcond2d2 ( matrix d,
long  ri,
long  ci,
long  ipp 
)

Definition at line 173 of file saltmat3.cpp.

Referenced by matcond2().

void matcond3d ( matrix d,
long  ri,
long  ci,
long  ipp 
)

function creates conductivity matrix of the material for 3D problems

Parameters:
d - conductivity matrix of the material
ri - row index
ci - column index
ipp - number of integration point

Definition at line 241 of file saltmat3.cpp.

References intpointst::av, intpointst::eqother, fillm(), transmat::ip, k11(), k12(), k13(), k21(), k22(), k23(), k31(), k32(), k33(), and Tm.

Referenced by matcond().

double permeabilitavodnipary ( double  t,
double  p 
)

Permeabilita Vodni Pary

Parameters:
t - temperature K
p - presure Pa

Definition at line 1057 of file saltmat3.cpp.

References a2, a3, CorD(), and kd.

Referenced by k11().

double pgws ( double  t  ) 

tlak nasycenych vodnich par

Parameters:
t - temperature K

Definition at line 1044 of file saltmat3.cpp.

Referenced by c11(), and k11().

void print_othervalue_name ( FILE *  out,
long  compother 
)

function prints names of all variables in nodes

Parameters:
out - output file
compother - number of other components

Definition at line 1028 of file saltmat3.cpp.

void read ( XFILE in  ) 

function reads data and material parameters

Parameters:
in - input file

Definition at line 346 of file saltmat3.cpp.

References Init, k1, k2, k3, k4, k5, k6, MatChar, MatConst, MatData, MatFunce, and xfscanf().

Referenced by transmat::readmattype().

void salt_diffusivity_values ( int  kod,
long  ipp,
double &  diff,
double  x2 
)

Definition at line 1225 of file saltmat3.cpp.

References CorD(), and hystereze().

Referenced by aux_values().

void sisotherm ( int  kod,
double  x1,
double &  fiw,
double &  dfdw 
)
double transmission_flux ( double  nodval,
long  ri,
long  ci,
long  nn,
long  bc,
long  ipp 
)

function computes flux (for transmission_vector) for boundary condition (third kind of boundary condition)

Parameters:
nodval - prescribed nodal value
ri - row index
ci - column index
nn - number of node
bc - type of boundary condition
ipp - number of first integration point on element

Definition at line 877 of file saltmat3.cpp.

References flux, get_transmission_flux_11(), pvalt::getval(), gtopology::give_dof(), Gtt, transbclc::lc, lhsrhst::lhs, lhsrhst::lhsi, Lsrst, loadcaset::pv, and Tb.

Referenced by med3::transmission_flux().

double transmission_nodval ( double  nodval,
long  ri,
long  ci,
long  nn,
long  bc,
long  ipp 
)

function computes new nodal value (for transmission_vector) for boundary condition (third kind of boundary condition)

Parameters:
nodval - prescribed nodal value
ri - row index
ci - column index
nn - number of node
bc - type of boundary condition
ipp - number of first integration point on element

Definition at line 822 of file saltmat3.cpp.

References get_transmission_nodval_11(), pvalt::getval(), gtopology::give_dof(), Gtt, transbclc::lc, lhsrhst::lhs, lhsrhst::lhsi, Lsrst, loadcaset::pv, and Tb.

Referenced by med3::transmission_nodval().

double transmission_transcoeff ( double  trc,
long  ri,
long  ci,
long  nn,
long  bc,
long  ipp 
)

function computes new transmission coefficient (for transmission_vector) for boundary condition (third kind of boundary condition)

Parameters:
trc - prescribed transmission coefficient on the boundary
ri - row index
ci - column index
nn - number of node
bc - type of boundary condition
ipp - number of first integration point on element

Definition at line 766 of file saltmat3.cpp.

References get_transmission_transcoeff_11(), pvalt::getval(), gtopology::give_dof(), Gtt, transbclc::lc, lhsrhst::lhs, lhsrhst::lhsi, Lsrst, loadcaset::pv, and Tb.

Referenced by med3::transmission_transcoeff().

void values_correction ( vector nv,
long  ipp 
)

Definition at line 328 of file saltmat3.cpp.

References intpointst::eqother, transmat::ip, and Tm.

Referenced by transmat::values_correction().


Member Data Documentation

double a1 [private]

Definition at line 98 of file saltmat3.h.

Referenced by aux_values(), get_moisture(), and get_rel_hum().

double a2 [private]

Definition at line 98 of file saltmat3.h.

Referenced by aux_values(), c11(), get_moisture(), get_rel_hum(), k11(), and permeabilitavodnipary().

double a3 [private]
double gasr

Definition at line 80 of file saltmat3.h.

Referenced by c11(), and saltmat3().

double Init[20] [private]

Definition at line 104 of file saltmat3.h.

Referenced by initvalues(), and read().

double k1[20] [private]

Definition at line 105 of file saltmat3.h.

Referenced by hystereze(), and read().

double k2[20] [private]

Definition at line 105 of file saltmat3.h.

Referenced by hystereze(), and read().

double k3[20] [private]

Definition at line 105 of file saltmat3.h.

Referenced by hystereze(), and read().

double k4[20] [private]

Definition at line 105 of file saltmat3.h.

Referenced by hystereze(), and read().

double k5[20] [private]

Definition at line 105 of file saltmat3.h.

Referenced by hystereze(), and read().

double k6[20] [private]

Definition at line 105 of file saltmat3.h.

Referenced by hystereze(), and read().

int kd [private]

Definition at line 97 of file saltmat3.h.

Referenced by aux_values(), c11(), and permeabilitavodnipary().

double ma

Definition at line 80 of file saltmat3.h.

Referenced by saltmat3().

int MatChar[20] [private]

Definition at line 99 of file saltmat3.h.

Referenced by aux_values(), CorD(), get_moisture(), initvalues(), and read().

double MatConst[20] [private]

Definition at line 100 of file saltmat3.h.

Referenced by CorD(), and read().

double MatData[20][4][150] [private]

Definition at line 101 of file saltmat3.h.

Referenced by binding_izoterm_derivation(), CorD(), der_value_hyst(), derivation_dy_dx(), and read().

double MatFunce[20][5] [private]

Definition at line 102 of file saltmat3.h.

Referenced by CorD(), and read().

double mw

Definition at line 80 of file saltmat3.h.

Referenced by c11(), and saltmat3().


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

Generated by  doxygen 1.6.2