discmat Class Reference

#include <discmat.h>

List of all members.

Public Member Functions

void aux_values (long ipp, double *in, double *inp, double *ineq, double *out)
void aux_values_elements (long ipp, double *in, double *inp, double *ineq, double *out)
void auxiliarydata (double x1, double x2)
double c11 (double x1, double x2, long ipp)
double c12 (double x1, double x2, long ipp)
double c21 (double x1, double x2, long ipp)
double c22 (double x1, double x2, long ipp)
double derivation_dy_dx (int matchar, double prom, int pomk1, int pomk2)
double derivation_saturation_water_vapour_pressure_temperature (double x1, double x2)
 discmat (void)
void get_moisture (long nid, double in, double *inp, double &out)
double get_moisture2 (double rh)
double get_othervalue (long compother, long ipp, double x1, double x2)
double get_rel_hum (double w)
void get_rel_hum2 (double w, double &fi, double &dfdw)
double get_transmission_flux_11 (double bv, double x1, double x2, long bc, long ipp)
double get_transmission_nodval_11 (double bv, double x1, double x2, long bc, long ipp)
double get_transmission_transcoeff_11 (double x1, double x2, long bc, long ipp)
void give_data_si_root_dfidw (double x1, double x2, double rh_hyg, double w_sat, double w_hyg, double shift_w, double &dfdw)
void give_data_si_root_fi (double x1, double x2, double w_hyg, double w_sat, double rh_hyg, double shift_w, double &relh)
void give_values (long ipp, double *av, double *pv, double *eq)
void initvalues (long ipp, long ido)
void inverze_sorption_izoterm_data (double x1, double &fi, double &dfi)
double k11 (double x1, double x2, long ipp)
double k12 (double x1, double x2, long ipp)
double k21 (double x1, double x2, long ipp)
double k22 (double x1, double x2, long ipp)
double kapa (int kod, double x1, double x2)
void kapa_values (int kod, long ipp, double x1, double xpv, double ineq1, double &kapa)
double latent_heat_of_evaporation_of_water (double x1, double x2)
double linear_data (int kod, double x1, double x2)
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)
void matcond4d (matrix &d, long ri, long ci, long ipp)
double permeabilitavodnipary (double x1, double x2)
double pgws (double x1, double x2)
void print (FILE *out)
void print_othervalue_name (FILE *out, long compother)
void read (XFILE *in)
void save_values (long ipp, double *out)
void sisotherm (int kod, double x1, double &fiw, double &dfdw)
void sorption_izoterms_values (int kod, long ipp, double x1, double xpv, double ineq1, double &fi, double &dfdw)
void sorption_izotherm_derivation (double x1, double x2, double &derfi)
double sortpion_isotherm_root_shifted (double x1, double w_hyg, double rh_hyg)
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)
void water_content_relhum (long nid, double *in, double *inp, double *ineq, double *out)
 ~discmat (void)

Public Attributes

double gasr
double ma
double mw

Private Member Functions

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

Private Attributes

double a1
double a2
double a3
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 discmat.h.


Constructor & Destructor Documentation

discmat ( void   ) 

Definition at line 37 of file discmat.cpp.

References gasr, ma, and mw.

~discmat ( void   ) 

Definition at line 45 of file discmat.cpp.


Member Function Documentation

void aux_values ( long  ipp,
double *  in,
double *  inp,
double *  ineq,
double *  out 
)

function computes auxiliary values which are necessary for future computation

JM, 29.5.2007

Definition at line 1135 of file discmat.cpp.

References CorD(), kapa_values(), MatChar, and sorption_izoterms_values().

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

void aux_values_elements ( long  ipp,
double *  in,
double *  inp,
double *  ineq,
double *  out 
)

Definition at line 1430 of file discmat.cpp.

References MatChar, and sorption_izoterms_values().

void auxiliarydata ( double  x1,
double  x2 
)

Definition at line 671 of file discmat.cpp.

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

Definition at line 615 of file discmat.cpp.

References a2, a3, CorD(), intpointst::eqother, gasr, transmat::ip, kd, mw, pgws(), and Tm.

Referenced by matcap().

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

Definition at line 640 of file discmat.cpp.

Referenced by matcap().

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

Definition at line 645 of file discmat.cpp.

Referenced by matcap().

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

Definition at line 650 of file discmat.cpp.

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

Referenced by matcap().

void CorD ( int  cislochar,
int &  kvyhl,
double  in,
int  rhw,
double  x,
double &  y,
double &  z,
double &  z2 
) [private]
double derivation_dy_dx ( int  matchar,
double  prom,
int  pomk1,
int  pomk2 
)

Definition at line 1393 of file discmat.cpp.

References MatData.

Referenced by sorption_izoterms_values().

double derivation_saturation_water_vapour_pressure_temperature ( double  x1,
double  x2 
)

Definition at line 1208 of file discmat.cpp.

Referenced by k12(), and k22().

void get_moisture ( long  nid,
double  in,
double *  inp,
double &  out 
)

Definition at line 1332 of file discmat.cpp.

References a1, a2, a3, CorD(), MatChar, probdesct::time, and Tp.

double get_moisture2 ( double  rh  ) 

Definition at line 1364 of file discmat.cpp.

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

Referenced by transmat::values_transformation().

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

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 880 of file discmat.cpp.

References intpointst::eqother, get_rel_hum2(), transmat::ip, other, print_err(), and Tm.

Referenced by med2::compute_othervalues().

double get_rel_hum ( double  w  ) 
void get_rel_hum2 ( double  w,
double &  fi,
double &  dfdw 
)

Definition at line 1423 of file discmat.cpp.

References MatChar, and sorption_izoterms_values().

Referenced by get_othervalue(), and transmat::values_transformation().

double get_transmission_flux_11 ( double  bv,
double  x1,
double  x2,
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 858 of file discmat.cpp.

References flux, and print_err().

Referenced by transmission_flux().

double get_transmission_nodval_11 ( double  bv,
double  x1,
double  x2,
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 811 of file discmat.cpp.

References nodval(), and print_err().

Referenced by transmission_nodval().

double get_transmission_transcoeff_11 ( double  x1,
double  x2,
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 834 of file discmat.cpp.

References print_err().

Referenced by transmission_transcoeff().

void give_data_si_root_dfidw ( double  x1,
double  x2,
double  rh_hyg,
double  w_sat,
double  w_hyg,
double  shift_w,
double &  dfdw 
)

Definition at line 1314 of file discmat.cpp.

Referenced by sorption_izoterms_values().

void give_data_si_root_fi ( double  x1,
double  x2,
double  w_hyg,
double  w_sat,
double  rh_hyg,
double  shift_w,
double &  relh 
)

Definition at line 1286 of file discmat.cpp.

Referenced by sorption_izoterms_values().

void give_values ( long  ipp,
double *  av,
double *  pv,
double *  eq 
)

function selects auxiliary values

JK, 7.1.2008

Definition at line 1111 of file discmat.cpp.

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

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

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 1200 of file discmat.cpp.

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

Referenced by transmat::initvalues().

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

Definition at line 537 of file discmat.cpp.

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

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

double k12 ( double  x1,
double  x2,
long  ipp 
)
double k21 ( double  x1,
double  x2,
long  ipp 
)
double k22 ( double  x1,
double  x2,
long  ipp 
)
double kapa ( int  kod,
double  x1,
double  x2 
)
void kapa_values ( int  kod,
long  ipp,
double  x1,
double  xpv,
double  ineq1,
double &  kapa 
)

Definition at line 1081 of file discmat.cpp.

References CorD().

Referenced by aux_values().

double latent_heat_of_evaporation_of_water ( double  x1,
double  x2 
)

Definition at line 1213 of file discmat.cpp.

Referenced by k21(), and k22().

double linear_data ( int  kod,
double  x1,
double  x2 
)
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 270 of file discmat.cpp.

References intpointst::av, c11(), c12(), c21(), c22(), transmat::ip, and Tm.

Referenced by med2::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 59 of file discmat.cpp.

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

Referenced by med2::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 135 of file discmat.cpp.

References intpointst::av, transmat::ip, k11(), k12(), k21(), k22(), 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 98 of file discmat.cpp.

References matcond2d2(), and matrix::n.

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 171 of file discmat.cpp.

References intpointst::av, fillm(), transmat::ip, k11(), k12(), k21(), k22(), and Tm.

Referenced by matcond().

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

Definition at line 158 of file discmat.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 208 of file discmat.cpp.

References intpointst::av, fillm(), transmat::ip, k11(), k12(), k21(), k22(), and Tm.

Referenced by matcond().

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

Definition at line 235 of file discmat.cpp.

References intpointst::av, fillm(), transmat::ip, k11(), k12(), k21(), k22(), and Tm.

Referenced by matcond().

double permeabilitavodnipary ( double  x1,
double  x2 
)

Permeabilita Vodni Pary

Parameters:
x2 - temperature K
p - presure Pa

Definition at line 948 of file discmat.cpp.

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

Referenced by k11(), k12(), k21(), and k22().

double pgws ( double  x1,
double  x2 
)

tlak nasycenych vodnich par

Parameters:
x2 - temperature K

Definition at line 935 of file discmat.cpp.

Referenced by c11(), k11(), and k21().

void print ( FILE *  out  ) 

Definition at line 414 of file discmat.cpp.

References MatChar, MatConst, MatData, and MatFunce.

Referenced by transmat::printmatchar().

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 919 of file discmat.cpp.

References print_err().

Referenced by med2::print_othervaluesnames().

void read ( XFILE in  ) 

function reads data and material parameters

Parameters:
in - input file

Definition at line 304 of file discmat.cpp.

References MatChar, MatConst, MatData, MatFunce, and xfscanf().

Referenced by transmat::readmattype().

void save_values ( long  ipp,
double *  out 
)

function saves auxiliary values

JK, 7.1.2008

Definition at line 1179 of file discmat.cpp.

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

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

void sisotherm ( int  kod,
double  x1,
double &  fiw,
double &  dfdw 
)
void sorption_izoterms_values ( int  kod,
long  ipp,
double  x1,
double  xpv,
double  ineq1,
double &  fi,
double &  dfdw 
)
void sorption_izotherm_derivation ( double  x1,
double  x2,
double &  derfi 
)

Definition at line 1218 of file discmat.cpp.

References MatData.

double sortpion_isotherm_root_shifted ( double  x1,
double  w_hyg,
double  rh_hyg 
)

Definition at line 1309 of file discmat.cpp.

Referenced by sorption_izoterms_values().

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 774 of file discmat.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 med2::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 733 of file discmat.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 med2::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 690 of file discmat.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 med2::transmission_transcoeff().

void values_correction ( vector nv,
long  ipp 
)

Definition at line 291 of file discmat.cpp.

void water_content_relhum ( long  nid,
double *  in,
double *  inp,
double *  ineq,
double *  out 
)

Definition at line 1409 of file discmat.cpp.

References MatChar, and sorption_izoterms_values().


Member Data Documentation

double a1 [private]

Definition at line 101 of file discmat.h.

Referenced by get_moisture(), get_moisture2(), and sorption_izoterms_values().

double a2 [private]
double a3 [private]
double gasr

Definition at line 70 of file discmat.h.

Referenced by c11(), and discmat().

int kd [private]

Definition at line 100 of file discmat.h.

Referenced by c11(), c22(), k22(), and permeabilitavodnipary().

double ma

Definition at line 70 of file discmat.h.

Referenced by discmat().

int MatChar[20] [private]
double MatConst[20] [private]

Definition at line 103 of file discmat.h.

Referenced by CorD(), print(), and read().

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

Definition at line 104 of file discmat.h.

Referenced by CorD(), derivation_dy_dx(), print(), read(), and sorption_izotherm_derivation().

double MatFunce[20][5] [private]

Definition at line 105 of file discmat.h.

Referenced by CorD(), print(), and read().

double mw

Definition at line 70 of file discmat.h.

Referenced by c11(), and discmat().


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

Generated by  doxygen 1.6.2