#include <stdlib.h>
#include "globmatt.h"
#include "globalt.h"
#include "lhsrhst.h"
#include "constrel.h"
#include "onemedium.h"
#include "twomedia.h"
#include "threemedia.h"
Go to the source code of this file.
Functions | |
void | approximation () |
void | assemble_init (double *rhs) |
void | capacity_matrix (long lcid) |
void | capacmat (long eid, long lcid, matrix &cm) |
void | compute_req_valt (long lcid) |
void | conductivity_matrix (long lcid) |
void | conductmat (long eid, long lcid, matrix &km) |
void | give_nodal_humid (double *gv, long mnt) |
void | initialvalues (double *r, long *cn, long ndofe) |
void | internal_fluxes (double *intflux, long n) |
void | intpointgradients (long eid) |
void | intpointvalues (long eid) |
void | nodalderivatives (double *r, long *cn, long ndofe) |
void | nodalvalues (long lcid, double *r, long *cn, long ndofe) |
void | nodval (long lcid, double *r, long idn) |
void | prescvalues (double *r, long *cn, long ndofe) |
void | residuum (double *r, double *p, double *v, double dt, long n, long lcid) |
void | solution_correction () |
void | source_vector (long lcid, long eid, vector &nodval, vector &lv) |
void | trfel_bound_flux (long lcid, double *iflux, long n) |
void | trfel_right_hand_side (long lcid, double *rhs, long n) |
void approximation | ( | ) |
function computes quantity values in integration points
16.1.2002
Definition at line 484 of file jk_globmatt.cpp.
References actual_previous_change(), transmat::aux_values(), intpointst::av, cemhydmat::average_temp, cementhydrmat, transmat::cemhydr, copy_nodval(), transtop::elements, transtop::give_tnip(), Gtt, intpointst::idm, intpointgradients(), intpointvalues(), transmat::ip, elementt::ipp, gtopology::leso, transmat::mattype, cemhydmat::n_ipp, transtop::ne, transmat::nmt, transmat::numtype, probdesct::nvs, onemedium, intpointst::other, threemediacoup, Tm, probdesct::tmatt, Tp, Tt, and twomediacoup.
void assemble_init | ( | double * | rhs | ) |
function assembles part of the vector of right hand side
rhs | - right hand side |
21.3.2004, JK
Definition at line 657 of file jk_globmatt.cpp.
References vector::a, allocm(), allocv(), check_math_errel(), cmulv(), conductmat(), destrm(), destrv(), f, transtop::give_code_numbers(), transtop::give_ndofe(), Gtt, gtopology::leso, locglob(), mxv(), transtop::ne, prescvalues(), and Tt.
void capacity_matrix | ( | long | lcid | ) |
function assembles capacity matrix of the problem
lcid | - load case id |
Definition at line 49 of file jk_globmatt.cpp.
References ivector::a, allocm(), allocv(), capacmat(), check_math_errel(), Cmat, destrm(), destrv(), gtopology::give_code_numbers(), gtopology::give_ndofe(), Gtt, gmatrix::initiate(), gtopology::leso, gmatrix::localize(), Mesprt, Ndoft, transtop::ne, Outt, gmatrix::prepmat(), gmatrix::setval(), probdesct::ssle, Tp, gmatrix::ts, probdesct::tstorcm, and Tt.
void capacmat | ( | long | eid, | |
long | lcid, | |||
matrix & | cm | |||
) |
function computes capacity matrix of one element
eid | - element id | |
lcid | - load case id | |
km | - capacity matrix of one element |
Definition at line 318 of file jk_globmatt.cpp.
References barlint, barlintax, barquadt, barquadtax, transtop::give_elem_type(), Lbat, Lbt, Lht, linearhext, lineartett, Lqat, Lqt, Ltat, Ltett, Ltt, print_err(), Qbat, Qbt, Qht, Qqat, Qqt, quadlaxisym, quadlint, quadquadt, quadquadtax, quadratichext, quadhext::res_capacity_matrix(), linhext::res_capacity_matrix(), lintett::res_capacity_matrix(), quadlinaxisym::res_capacity_matrix(), quadquadrilattax::res_capacity_matrix(), quadquadrilatt::res_capacity_matrix(), quadlineart::res_capacity_matrix(), trlinaxisym::res_capacity_matrix(), trlineart::res_capacity_matrix(), quadbartax::res_capacity_matrix(), quadbart::res_capacity_matrix(), linbartax::res_capacity_matrix(), linbart::res_capacity_matrix(), trlaxisym, trlint, and Tt.
void compute_req_valt | ( | long | lcid | ) |
function computes all required values this function is called e.g. before output print
lcid | - load case id |
1.4.2004, JK
25.6.2004 changed by TKr
Definition at line 801 of file jk_globmatt.cpp.
References approximation(), compute_ipeqotherst(), compute_ipfluxes(), compute_ipotherst(), compute_nodeeqotherst(), compute_nodefluxes(), compute_nodegrads(), compute_nodeotherst(), compute_nodeotherst_comp(), discont_nonlin_nonstat_problem, discont_nonstat_problem, probdesct::eqothercomp, probdesct::eqotherpos, probdesct::fluxcomp, probdesct::fluxpos, probdesct::gradcomp, probdesct::gradpos, growing_np_problem, growing_np_problem_nonlin, nonlinear_nonstationary_problem, nonstationary_problem, probdesct::othercomp, probdesct::otherpos, Tm, Tp, and probdesct::tprob.
void conductivity_matrix | ( | long | lcid | ) |
function assembles conductivity matrix of the problem
lcid | - load case id |
Definition at line 14 of file jk_globmatt.cpp.
References ivector::a, allocm(), allocv(), check_math_errel(), conductmat(), destrm(), destrv(), gtopology::give_code_numbers(), gtopology::give_ndofe(), Gtt, gmatrix::initiate(), Kmat, gtopology::leso, gmatrix::localize(), Mesprt, Ndoft, transtop::ne, Outt, gmatrix::prepmat(), gmatrix::setval(), probdesct::ssle, Tp, gmatrix::ts, probdesct::tstorkm, and Tt.
void conductmat | ( | long | eid, | |
long | lcid, | |||
matrix & | km | |||
) |
function computes conductivity matrix of one element
eid | - element id | |
lcid | - load case id | |
km | - conductivity matrix of one element |
Definition at line 243 of file jk_globmatt.cpp.
References barlint, barlintax, barquadt, barquadtax, transtop::give_elem_type(), Lbat, Lbt, Lht, linearhext, lineartett, Lqat, Lqt, Ltat, Ltett, Ltt, print_err(), Qbat, Qbt, Qht, Qqat, Qqt, quadlaxisym, quadlint, quadquadt, quadquadtax, quadratichext, quadhext::res_conductivity_matrix(), linhext::res_conductivity_matrix(), lintett::res_conductivity_matrix(), quadlinaxisym::res_conductivity_matrix(), quadquadrilattax::res_conductivity_matrix(), quadquadrilatt::res_conductivity_matrix(), quadlineart::res_conductivity_matrix(), trlinaxisym::res_conductivity_matrix(), trlineart::res_conductivity_matrix(), quadbartax::res_conductivity_matrix(), quadbart::res_conductivity_matrix(), linbartax::res_conductivity_matrix(), linbart::res_conductivity_matrix(), trlaxisym, trlint, and Tt.
void give_nodal_humid | ( | double * | gv, | |
long | mnt | |||
) |
Definition at line 884 of file jk_globmatt.cpp.
References med4::compute_othervalues(), med3::compute_othervalues(), med2::compute_othervalues(), med1::compute_othervalues(), fourmediacoup, pvalt::getval(), transtop::give_dof(), transmat::ip, kunzel, transbclc::lc, lhsrhst::lhs, lhsrhst::lhsi, Lsrst, probdesct::ntm, onemedium, print_err(), loadcaset::pv, Tb, threemediacoup, intpointst::tm, Tm, probdesct::tmatt, Tp, Tt, and twomediacoup.
void initialvalues | ( | double * | r, | |
long * | cn, | |||
long | ndofe | |||
) |
function extracts values on one element
eid | - element id | |
r | - vector of nodal values | |
cn | - array containing code numbers |
21.3.2004, JK
Definition at line 223 of file jk_globmatt.cpp.
References pvalt::getipv(), transbclc::lc, lhsrhst::lhsi, Lsrst, loadcaset::pv, and Tb.
void internal_fluxes | ( | double * | intflux, | |
long | n | |||
) |
function assembles vector of nodal internal fluxes
lcid | - load case id | |
intflux | - array containing internal nodal fluxes |
Definition at line 392 of file jk_globmatt.cpp.
References vector::a, allocv(), barlint, barlintax, barquadt, barquadtax, destrv(), fillv(), gtopology::give_code_numbers(), transtop::give_elem_type(), gtopology::give_ndofe(), Gtt, Lbat, Lbt, gtopology::leso, Lht, linearhext, lineartett, locglob(), Lqat, Lqt, Ltat, Ltett, Ltt, transtop::ne, nullv(), print_err(), Qbat, Qbt, Qht, Qqat, Qqt, quadlaxisym, quadlint, quadquadt, quadquadtax, quadratichext, quadhext::res_internal_fluxes(), linhext::res_internal_fluxes(), lintett::res_internal_fluxes(), quadlinaxisym::res_internal_fluxes(), quadquadrilattax::res_internal_fluxes(), quadquadrilatt::res_internal_fluxes(), quadlineart::res_internal_fluxes(), trlinaxisym::res_internal_fluxes(), trlineart::res_internal_fluxes(), quadbartax::res_internal_fluxes(), quadbart::res_internal_fluxes(), linbartax::res_internal_fluxes(), linbart::res_internal_fluxes(), trfel_bound_flux(), trlaxisym, trlint, and Tt.
void intpointgradients | ( | long | eid | ) |
function computes gradients on integration points
eid | - element id |
JK, 10.7.2008
Definition at line 583 of file jk_globmatt.cpp.
References barlint, barlintax, barquadt, barquadtax, transtop::give_elem_type(), quadhext::intpointgrad(), linhext::intpointgrad(), lintett::intpointgrad(), quadlinaxisym::intpointgrad(), quadquadrilattax::intpointgrad(), quadquadrilatt::intpointgrad(), quadlineart::intpointgrad(), trlinaxisym::intpointgrad(), trlineart::intpointgrad(), quadbartax::intpointgrad(), quadbart::intpointgrad(), linbartax::intpointgrad(), linbart::intpointgrad(), Lbat, Lbt, Lht, linearhext, lineartett, Lqat, Lqt, Ltat, Ltett, Ltt, print_err(), Qbat, Qbt, Qht, Qqat, Qqt, quadlaxisym, quadlint, quadquadt, quadquadtax, quadratichext, trlaxisym, trlint, and Tt.
void intpointvalues | ( | long | eid | ) |
function approximates nodal values to integration points
eid | - element id |
JK
Definition at line 517 of file jk_globmatt.cpp.
References barlint, barlintax, barquadt, barquadtax, transtop::give_elem_type(), quadhext::intpointval(), linhext::intpointval(), lintett::intpointval(), quadlinaxisym::intpointval(), quadquadrilattax::intpointval(), quadquadrilatt::intpointval(), quadlineart::intpointval(), trlinaxisym::intpointval(), trlineart::intpointval(), quadbartax::intpointval(), quadbart::intpointval(), linbartax::intpointval(), linbart::intpointval(), Lbat, Lbt, Lht, linearhext, lineartett, Lqat, Lqt, Ltat, Ltett, Ltt, print_err(), Qbat, Qbt, Qht, Qqat, Qqt, quadlaxisym, quadlint, quadquadt, quadquadtax, quadratichext, trlaxisym, trlint, and Tt.
void nodalderivatives | ( | double * | r, | |
long * | cn, | |||
long | ndofe | |||
) |
function extracts first time derivatives of nodal values on one element
r | - vector of derivatives of nodal values | |
cn | - array containing code numbers | |
ndofe | - number of DOFs on actual element |
4.3.2003
Definition at line 179 of file jk_globmatt.cpp.
References discont_nonlin_nonstat_problem, discont_nonstat_problem, growing_np_problem, growing_np_problem_nonlin, Lsrst, nonlinear_nonstationary_problem, nonlinear_stationary_problem, nonstationary_problem, print_err(), lhsrhst::tdlhs, Tp, and probdesct::tprob.
void nodalvalues | ( | long | lcid, | |
double * | r, | |||
long * | cn, | |||
long | ndofe | |||
) |
function extracts values on one element
lcid | - number of load case | |
r | - vector of nodal values | |
cn | - array containing code numbers | |
ndofe | - number of DOFs on actual element |
9.7.2001
Definition at line 113 of file jk_globmatt.cpp.
References pvalt::getval(), transbclc::lc, lhsrhst::lhs, lhsrhst::lhsi, Lsrst, nonlinear_nonstationary_problem, nonstationary_problem, loadcaset::pv, Tb, Tp, and probdesct::tprob.
void nodval | ( | long | lcid, | |
double * | r, | |||
long | idn | |||
) |
function extracts values on one node
lcid | - number of load case | |
r | - allocated array for displacement | |
idn | - node number |
9.7.2001
Definition at line 146 of file jk_globmatt.cpp.
References pvalt::getval(), transtop::give_dof(), transtop::give_ndofn(), transbclc::lc, lhsrhst::lhs, lhsrhst::lhsi, Lsrst, nonlinear_nonstationary_problem, nonstationary_problem, loadcaset::pv, Tb, Tp, probdesct::tprob, and Tt.
void prescvalues | ( | double * | r, | |
long * | cn, | |||
long | ndofe | |||
) |
function extracts values on one element
eid | - element id | |
r | - vector of nodal values | |
cn | - array containing code numbers |
21.3.2004, JK
Definition at line 202 of file jk_globmatt.cpp.
References pvalt::getval(), probdesct::homogt, transbclc::lc, lhsrhst::lhsi, Lsrst, loadcaset::pv, Tb, and Tp.
void residuum | ( | double * | r, | |
double * | p, | |||
double * | v, | |||
double | dt, | |||
long | n, | |||
long | lcid | |||
) |
r | - vector of residuum | |
p | - vector d_{n+1} - d_{n} | |
v | - auxiliary vector | |
dt | - actual time increment | |
lcid | - load case id |
JK, 2.2.2003
Definition at line 89 of file jk_globmatt.cpp.
References addv(), capacity_matrix(), Cmat, cmulv(), conductivity_matrix(), gmatrix::gmxv(), Kmat, lhsrhst::lhs, Lsrst, Ndoft, lhsrhst::rhs, subv(), and trfel_right_hand_side().
void solution_correction | ( | ) |
function corrects solution of algebraic system of equations unacceptable trial values are replaced by the limit values
14.7.2005
Definition at line 969 of file jk_globmatt.cpp.
References vector::a, allocv(), destrv(), transtop::elements, transtop::give_dof(), transtop::give_elemnodes(), transtop::give_ndofn(), transtop::give_nne(), elementt::ipp, lhsrhst::lhs, lhsrhst::lhsi, Lsrst, transtop::ne, nodalval(), nodes, nodval(), Tm, Tt, and transmat::values_correction().
function computes contributions from source of quantity
lcid | - load case id | |
eid | - element id | |
nodval | - array of source nodal values | |
lv | - local vector |
JK, 25.6.2005
Definition at line 824 of file jk_globmatt.cpp.
References barlint, barlintax, transtop::elements, Lbat, Lbt, Lht, linearhext, lineartett, Lqat, Lqt, Ltat, Ltett, Ltt, print_err(), Qht, Qqat, Qqt, quadlaxisym, quadlint, quadquadt, quadquadtax, quadratichext, quadhext::res_quantity_source_vector(), linhext::res_quantity_source_vector(), lintett::res_quantity_source_vector(), quadquadrilattax::res_quantity_source_vector(), quadquadrilatt::res_quantity_source_vector(), quadlinaxisym::res_quantity_source_vector(), quadlineart::res_quantity_source_vector(), trlinaxisym::res_quantity_source_vector(), trlineart::res_quantity_source_vector(), linbartax::res_quantity_source_vector(), linbart::res_quantity_source_vector(), elementt::te, trlaxisym, trlint, and Tt.
void trfel_bound_flux | ( | long | lcid, | |
double * | iflux, | |||
long | n | |||
) |
function assembles flux on the boundary
lcid | - load case id | |
iflux | - array containing flux (right hand side) |
12.3.2002
Definition at line 751 of file jk_globmatt.cpp.
References addv(), loadcaset::assemble_flux(), transbclc::lc, probdesct::ntm, nullv(), onemedium, Tb, threemediacoup, probdesct::tmatt, Tp, and twomediacoup.
void trfel_right_hand_side | ( | long | lcid, | |
double * | rhs, | |||
long | n | |||
) |
function assembles right hand side of the problem
lcid | - load case id | |
rhs | - array containing right hand side |
12.3.2002
Definition at line 698 of file jk_globmatt.cpp.
References vector::a, ivector::a, addv(), loadcaset::assemble(), assemble_gradients_contrib(), assemble_init(), check_math_errel(), copyv(), fillv(), transtop::give_code_numbers(), transtop::give_ndofe(), Gtt, probdesct::homogt, transbclc::lc, gtopology::leso, locglob(), transtop::ne, nonlinear_stationary_problem, probdesct::ntm, nullv(), onemedium, print_err(), reallocv(), Tb, threemediacoup, probdesct::tmatt, Tp, probdesct::tprob, Tt, twomediacoup, and volume_rhs_vector().