#include <discmat.h>
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] |
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.
~discmat | ( | void | ) |
Definition at line 45 of file discmat.cpp.
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 | |||
) |
void CorD | ( | int | cislochar, | |
int & | kvyhl, | |||
double | in, | |||
int | rhw, | |||
double | x, | |||
double & | y, | |||
double & | z, | |||
double & | z2 | |||
) | [private] |
Definition at line 965 of file discmat.cpp.
References MatChar, MatConst, MatData, MatFunce, and print_err().
Referenced by aux_values(), c11(), c22(), get_moisture(), get_moisture2(), k11(), k21(), k22(), kapa_values(), permeabilitavodnipary(), and sorption_izoterms_values().
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.
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
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
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
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
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
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 | |||
) |
Definition at line 559 of file discmat.cpp.
References derivation_saturation_water_vapour_pressure_temperature(), intpointst::eqother, transmat::ip, permeabilitavodnipary(), and Tm.
Referenced by matcond1d(), matcond2d(), matcond3d(), and matcond4d().
double k21 | ( | double | x1, | |
double | x2, | |||
long | ipp | |||
) |
Definition at line 574 of file discmat.cpp.
References CorD(), intpointst::eqother, transmat::ip, latent_heat_of_evaporation_of_water(), permeabilitavodnipary(), pgws(), and Tm.
Referenced by matcond1d(), matcond2d(), matcond3d(), and matcond4d().
double k22 | ( | double | x1, | |
double | x2, | |||
long | ipp | |||
) |
Definition at line 595 of file discmat.cpp.
References a2, a3, CorD(), derivation_saturation_water_vapour_pressure_temperature(), kd, latent_heat_of_evaporation_of_water(), and permeabilitavodnipary().
Referenced by matcond1d(), matcond2d(), matcond3d(), and matcond4d().
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 | |||
) |
Definition at line 1213 of file discmat.cpp.
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
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
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
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
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
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
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 | |||
) |
double pgws | ( | double | x1, | |
double | x2 | |||
) |
tlak nasycenych vodnich par
x2 | - temperature K |
Definition at line 935 of file discmat.cpp.
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
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
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 | |||
) |
Definition at line 1233 of file discmat.cpp.
References a1, a2, a3, CorD(), derivation_dy_dx(), give_data_si_root_dfidw(), give_data_si_root_fi(), and sortpion_isotherm_root_shifted().
Referenced by aux_values(), aux_values_elements(), get_rel_hum2(), and water_content_relhum().
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)
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)
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)
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().
double a1 [private] |
Definition at line 101 of file discmat.h.
Referenced by get_moisture(), get_moisture2(), and sorption_izoterms_values().
double a2 [private] |
Definition at line 101 of file discmat.h.
Referenced by c11(), c22(), get_moisture(), get_moisture2(), k22(), permeabilitavodnipary(), and sorption_izoterms_values().
double a3 [private] |
Definition at line 101 of file discmat.h.
Referenced by c11(), c22(), get_moisture(), get_moisture2(), k22(), permeabilitavodnipary(), and sorption_izoterms_values().
int kd [private] |
int MatChar[20] [private] |
Definition at line 102 of file discmat.h.
Referenced by aux_values(), aux_values_elements(), CorD(), get_moisture(), get_moisture2(), get_rel_hum2(), print(), read(), and water_content_relhum().
double MatConst[20] [private] |
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] |