#include "globmatc.h"
#include "globmat.h"
#include "globmatt.h"
#include "global.h"
#include "globalt.h"
#include "globalc.h"
#include "loadcase.h"
#include "element.h"
#include "elemswitch.h"
#include "elemswitcht.h"
#include "elemswitchc.h"
#include "intpoints.h"
#include "node.h"
Go to the source code of this file.
Functions | |
void | approximation_humid () |
void | approximation_inittemper () |
void | approximation_temper () |
void | approximationc () |
void | approximationcoup () |
void | assemble_init_coup_upper (double *rhs) |
void | copy_data () |
void | elemvaluesc (long lcid, double *r, long *cn, long ndofe) |
void | first_order_matrix (long lcid) |
void | incr_internal_gforces (long lcid, double *intfor) |
void | init_trfel_mefel () |
void | internal_coup_fluxes (double *intflux, long n) |
void | internal_coup_forces (long lcid, double *intflux) |
void | internal_gforces (long lcid, double *intfor) |
void | mefel_trfel () |
void | mefel_trfel_by_nodes (void) |
void | mefel_trfel_copyip (void) |
void | mefel_trfel_ip_mapping (long *tm_ip, long *mt_ip) |
void | metr_mefel () |
void | metr_right_hand_side (long lcid, double *rhs, double *flv) |
void | nodal_nodal_values (double *gv, nonmechquant nmq) |
void | right_hand_side (long lcid, double *rhs, long n) |
void | trfel_mefel () |
void | trfel_mefel_by_nodes (void) |
void | trfel_mefel_copyip (void) |
void | updateval () |
void | zero_order_matrix (long lcid) |
void approximation_humid | ( | ) |
function approximates humidity computed in the TRFEL part into the MEFEL part
22.6.2004, JK
Definition at line 1092 of file globmatc.cpp.
References Cp, intpointval(), intpointval2(), probdescc::lbb, lin_lin, Mt, mechtop::nn, nodal_nodal_values(), nullv(), quad_lin, quad_quad, and rel_hum.
Referenced by newton_raphson_gparcoupl_lin(), newton_raphson_gparcoupl_nonlin(), newton_raphson_parcoupl_nonlin(), newton_raphson_parcoupl_nonlin_new(), newton_raphson_parcoupl_nonlin_old(), par_newton_raphson_gparcoupl_lin(), par_newton_raphson_gparcoupl_nonlin(), par_newton_raphson_parcoupl_lin(), par_newton_raphson_parcoupl_lin_vform(), and par_newton_raphson_parcoupl_nonlin().
void approximation_inittemper | ( | ) |
function approximates initial temperature computed in the TRFEL part into the MEFEL part
21.11.2007, JK
Definition at line 1223 of file globmatc.cpp.
References Cp, initial_temperature, intpointval(), intpointval2(), probdescc::lbb, lin_lin, Mt, mechtop::nn, nodal_nodal_values(), nullv(), quad_lin, and quad_quad.
Referenced by newton_raphson_gparcoupl_lin(), newton_raphson_gparcoupl_nonlin(), newton_raphson_parcoupl_nonlin(), par_newton_raphson_gparcoupl_lin(), par_newton_raphson_gparcoupl_nonlin(), par_newton_raphson_parcoupl_lin(), par_newton_raphson_parcoupl_lin_vform(), and par_newton_raphson_parcoupl_nonlin().
void approximation_temper | ( | ) |
function approximates temperature computed in the TRFEL part into the MEFEL part
21.6.2004, JK
Definition at line 1052 of file globmatc.cpp.
References Cp, intpointval(), intpointval2(), probdescc::lbb, lin_lin, Mt, mechtop::nn, nodal_nodal_values(), nullv(), quad_lin, quad_quad, and temperature.
Referenced by newton_raphson_gparcoupl_lin(), newton_raphson_gparcoupl_nonlin(), newton_raphson_parcoupl_nonlin(), newton_raphson_parcoupl_nonlin_new(), newton_raphson_parcoupl_nonlin_old(), par_newton_raphson_gparcoupl_lin(), par_newton_raphson_gparcoupl_nonlin(), par_newton_raphson_parcoupl_lin(), par_newton_raphson_parcoupl_lin_vform(), and par_newton_raphson_parcoupl_nonlin().
void approximationc | ( | ) |
function approximates data on element int. points
JK, 28.7.2001
Definition at line 776 of file globmatc.cpp.
References approximation(), and approximationcoup().
Referenced by newton_raphson_coupl(), and newton_raphson_coupl_new().
void approximationcoup | ( | ) |
function approximates data on element int. points on coupling mesh
JK, 28.7.2001
Definition at line 792 of file globmatc.cpp.
References Cp, Ct, intpointgradientsc(), intpointstrainsc(), intpointvaluesc(), mech_onemedium, mech_threemedia, mech_twomedia, couptop::ne, print_err(), and probdescc::tmatt.
Referenced by approximationc().
void assemble_init_coup_upper | ( | double * | rhs | ) |
function assembles part of the vector of coupling right hand side
rhs | - right hand side |
21.3.2004, JK+TKr
Definition at line 1009 of file globmatc.cpp.
References vector::a, allocm(), allocv(), cmulv(), Ct, destrm(), destrv(), elemvalues(), f, gtopology::give_code_numbers(), gtopology::give_ndofe(), Gtm, Gtt, locglob(), mxv(), couptop::ne, and upper_cond_coupl_mat().
Referenced by right_hand_side().
void copy_data | ( | ) |
function copies coupling data
14/05/2010, TKr
Definition at line 746 of file globmatc.cpp.
References Cp, fully_coupled_mech_trans, mefel_trfel(), probdescc::tprob, and trfel_mefel().
Referenced by newton_raphson_coupl_new(), newton_raphson_parcoupl_common_dt(), newton_raphson_parcoupl_comp(), newton_raphson_parcoupl_lin(), and par_newton_raphson_parcoupl_comp().
void elemvaluesc | ( | long | lcid, | |
double * | r, | |||
long * | cn, | |||
long | ndofe | |||
) |
function extracts TRFEL 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 |
JK, 9.7.2001
Definition at line 676 of file globmatc.cpp.
References pvalt::getval(), transbclc::lc, lhsrhst::lhs, lhsrhst::lhsi, Lsrst, loadcaset::pv, and Tb.
void first_order_matrix | ( | long | lcid | ) |
function assembles general capacity matrix
lcid | - load case id |
JK
Definition at line 163 of file globmatc.cpp.
References ivector::a, allocm(), allocv(), capacmat(), Cp, Ct, D1mat, destrm(), destrv(), gtopology::give_code_numbers(), gtopology::give_ndofe(), gmatrix::glocalize(), Gtm, Gtt, Gtu, gmatrix::initiate(), gmatrix::localize(), lower_cap_coupl_mat(), Mesprc, Ndofc, couptop::ne, transtop::ne, Outc, gmatrix::prepmat(), gmatrix::setval(), probdescc::ssle, probdescc::tstord1, Tt, upper_cap_coupl_mat(), and probdescc::zero.
Referenced by newton_raphson_coupl(), and newton_raphson_coupl_new().
void incr_internal_gforces | ( | long | lcid, | |
double * | intfor | |||
) |
function computes vector of increments of generalized internal forces general internal force is notation of internal force or internal flux
lcid | - load case id | |
intfor | - increments of internal forces and fluxes |
12/9/2008, TKr
Definition at line 638 of file globmatc.cpp.
References addv(), incr_internal_forces(), Ndofc, and nullv().
void init_trfel_mefel | ( | ) |
The function exports initial data of TRFEL into MEFEL Actualy, only initial temperature (known in TRFEL) is recalculated to MEFEL integration points and stored in Mm->nonmechq if it is required.
05/06/2012, TKr Modified by TKo 10.10.2013
Definition at line 1464 of file globmatc.cpp.
References Cp, initial_temperature, intpointval(), intpointval2(), probdescc::lbb, lin_lin, Mm, Mt, mechmat::nmqo, mechtop::nn, mechmat::nnmq, nodal_nodal_values(), nullv(), quad_lin, and quad_quad.
Referenced by newton_raphson_coupl_new(), newton_raphson_parcoupl_common_dt(), newton_raphson_parcoupl_comp(), newton_raphson_parcoupl_lin(), and par_newton_raphson_parcoupl_comp().
void internal_coup_fluxes | ( | double * | intflux, | |
long | n | |||
) |
function assembles vector of coupling nodal internal fluxes and forces
lcid | - load case id | |
intflux | - array containing internal nodal fluxes and forces |
21.3.2004, TKr
Definition at line 839 of file globmatc.cpp.
References vector::a, allocv(), Cbar, coupbar, Ct, destrv(), fillv(), gtopology::give_code_numbers(), couptop::give_elem_type(), gtopology::give_ndofe(), Gtt, locglob(), couptop::ne, gtopology::ne, and barelc::res_lower_internal_fluxes().
void internal_coup_forces | ( | long | lcid, | |
double * | intflux | |||
) |
function assembles vector of coupling nodal internal forces
lcid | - load case id | |
intflux | - array containing internal nodal fluxes |
Definition at line 886 of file globmatc.cpp.
References vector::a, allocv(), Cbar, coupbar, Ct, destrv(), fillv(), gtopology::give_code_numbers(), couptop::give_elem_type(), gtopology::give_ndofe(), Gtm, locglob(), couptop::ne, gtopology::ne, and barelc::res_upper_internal_forces().
void internal_gforces | ( | long | lcid, | |
double * | intfor | |||
) |
function computes vector of generalized internal forces general internal force is notation of internal force or internal flux
lcid | - load case id | |
intfor | - internal forces and fluxes |
JK, 28.7.2001
Definition at line 601 of file globmatc.cpp.
References addv(), internal_fluxes(), internal_forces(), Ndofc, and nullv().
Referenced by newton_raphson_coupl(), and newton_raphson_coupl_new().
void mefel_trfel | ( | ) |
function exports data from MEFEL into TRFEL
05/06/2012, TKr Modified by TKo 10.10.2013
Definition at line 1266 of file globmatc.cpp.
References elem_intpointvalt(), elem_mechq_nodval(), transtop::elements, transtop::give_elemnodes(), transtop::give_nne(), transtop::give_tnip(), Gtt, elementt::ipp, gtopology::leso, transtop::ne, transmat::nntq, nodes, nodval(), transmat::ntqo, reallocv(), transmat::storenontransq(), Tm, and Tt.
Referenced by copy_data(), and newton_raphson_parcoupl_common_dt().
void mefel_trfel_by_nodes | ( | void | ) |
The function allocates nodal arrays used in the case of passing data between TRFEL and MEFEL by nodal values.
Created by Tomas Koudelka, 14.11.2013
Definition at line 505 of file globmatc.cpp.
References vector::a, elem_intpointvalt(), elem_mechq_nodval_comp(), transtop::elements, mechtop::give_nne(), transtop::give_nne(), transmat::give_reqntq(), transtop::give_tnip(), Gtt, elementt::ipp, gtopology::leso, memset(), Mt, vector::n, transtop::ne, transmat::nntq, nodes, nodval(), print_err(), reallocv(), transmat::storenontransq(), Tm, transmat::tnkntq, and Tt.
void mefel_trfel_copyip | ( | void | ) |
The function transfers MEFEL quantities to TRFEL with respect to required nontransport quantities in TRFEL. Meshes must be identical in TRFEL and MEFEL and individual quantities are copied between corresponding integration points.
Created by Tomas Koudelka 14.11.2013
Definition at line 424 of file globmatc.cpp.
References transmat::give_reqntq(), mechmat::givemechq(), memset(), Mm, transmat::nntq, transmat::ntqo, transmat::storenontransq(), Tm, TM_ip, transmat::tnip, and transmat::tnkntq.
void mefel_trfel_ip_mapping | ( | long * | tm_ip, | |
long * | mt_ip | |||
) |
The function assembles map of correspondece between TRFEL and MEFEL integration points. The meshes must be identical and integration order of stiffness matrix and conductivity matrix must be the same. Resulting maps are stored in arrays tm_ip and mt_ip.
tm_ip | - trfel to mefel ip correspondence map - tm_ip[trf_ipp] = mef_ipp | |
mt_ip | - mefel to trfel ip correspondence map - mt_ip[mef_ipp] = trf_ipp |
Created by Tomas Koudelka, 11.11.2013
Definition at line 287 of file globmatc.cpp.
References barlint, barquadt, mechtop::elements, transtop::elements, transtop::give_elem_type(), transtop::give_intordkm(), mechtop::give_nip(), transtop::give_nip(), mechtop::give_tnip(), element::ipp, elementt::ipp, linearhext, lineartett, Mm, Mt, transtop::ne, mechtop::ne, probdesct::ntm, print_err(), quadlint, quadquadt, quadquadtax, quadratichext, Tm, mechmat::tnip, transmat::tnip, Tp, trlaxisym, trlint, and Tt.
Referenced by metr_init(), and pmetr_init().
void metr_mefel | ( | ) |
function exports data from METR into MEFEL
05/06/2012, TKr, not completed, tady pokracovat !!!
Definition at line 1254 of file globmatc.cpp.
void metr_right_hand_side | ( | long | lcid, | |
double * | rhs, | |||
double * | flv | |||
) |
function computes vector of generalized right hand side
lcid | - load case id | |
rhs | - array of right hand side | |
flv | - array of load vector caused by forces only (default value is NULL) |
JK, 28.7.2001, Modified by Tomas Krejci 18/05/2012
Definition at line 702 of file globmatc.cpp.
References addv(), mefel_right_hand_side(), Ndofc, nullv(), right_hand_side(), and trfel_right_hand_side().
Referenced by newton_raphson_coupl(), and newton_raphson_coupl_new().
void nodal_nodal_values | ( | double * | gv, | |
nonmechquant | nmq | |||
) |
function returns nodal values of selected quantity from the TRFEL part
gv | - array of nodal quantity, the number of components is equal to the number of nodes in MEFEL | |
nmq | - name of the value needed |
24/8/2012, TKr
Definition at line 1127 of file globmatc.cpp.
References pvalt::getval(), transtop::give_dof(), give_nodal_humid(), give_transq_nodval(), probdesct::give_var_dofid(), initial_temperature, transbclc::lc, lhsrhst::lhs, lhsrhst::lhsi, Lsrst, transtop::nn, pore_pressure, print_err(), loadcaset::pv, rel_hum, saturation_degree, suction, Tb, temperature, Tp, trf_temperature, trf_water_press, Tt, vol_moist_cont, and water_pressure.
Referenced by approximation_humid(), approximation_inittemper(), approximation_temper(), init_trfel_mefel(), and trfel_mefel().
void right_hand_side | ( | long | lcid, | |
double * | rhs, | |||
long | n | |||
) |
function assembles coupling right hand side of the problem
lcid | - load case id | |
rhs | - array containing right hand side |
09.03.2004, JK+TKr
Definition at line 935 of file globmatc.cpp.
References vector::a, addv(), allocv(), assemble_coup(), assemble_init_coup_upper(), Cp, Ct, destrv(), fillv(), gtopology::give_code_numbers(), gtopology::give_ndofe(), Gtm, gtopology::leso, locglob(), mech_onemedium, mech_threemedia, mech_twomedia, couptop::ne, nullv(), probdescc::tmatt, and volume_rhs_vectorc().
Referenced by metr_right_hand_side().
void trfel_mefel | ( | ) |
The function exports data of TRFEL into MEFEL. All required non-mechanical quantities (known in TRFEL) are recalculated to MEFEL integration points and stored in Mm->nonmechq.
05/06/2012, TKr Modified by TKo 10.10.2013
Definition at line 1321 of file globmatc.cpp.
References Cp, initial_temperature, intpointval(), intpointval2(), probdescc::lbb, lin_lin, Mm, Mt, mechmat::nmqo, mechtop::nn, mechmat::nnmq, nodal_nodal_values(), nullv(), quad_lin, and quad_quad.
Referenced by copy_data(), and newton_raphson_parcoupl_common_dt().
void trfel_mefel_by_nodes | ( | void | ) |
The function allocates nodal arrays used in the case of passing data between TRFEL and MEFEL by nodal values.
Created by Tomas Koudelka, 9.12.2013
Definition at line 1363 of file globmatc.cpp.
References vector::a, elem_intpointval(), elem_intpointval2(), elem_transq_nodval_comp(), mechtop::elements, mechtop::give_elemnodes(), transtop::give_nne(), mechtop::give_nne(), mechmat::give_reqnmq(), mechtop::give_tnip(), Gtm, mechmat::ip, element::ipp, gtopology::leso, memset(), Mm, Mt, vector::n, mechtop::ne, intpoints::nm, mechmat::nnmq, nodes, nodval(), reallocv(), mechmat::storenonmechq(), mechmat::tnknmq, and Tt.
void trfel_mefel_copyip | ( | void | ) |
The function transfers TRFEL quantities to MEFEL with respect to required nonmechanical quantities in MEFEL. Meshes must be identical in MEFEL and TRFEL and individual quantities are copied between corresponding integration points.
Created by Tomas Koudelka 14.11.2013
Definition at line 460 of file globmatc.cpp.
References mechmat::give_reqnmq(), transmat::givetransq(), mechmat::ip, memset(), Mm, MT_ip, intpoints::nm, mechmat::nmqo, mechmat::nnmq, mechmat::storenonmechq(), Tm, mechmat::tnip, and mechmat::tnknmq.
void updateval | ( | ) |
function updates material data on element int. points
14/05/2010, TKr
Definition at line 730 of file globmatc.cpp.
References Cmu, Mm, Tm, coupmatu::updateipval(), mechmat::updateipval(), and transmat::updateipval().
Referenced by newton_raphson_coupl_new().
void zero_order_matrix | ( | long | lcid | ) |
function assembles matrix which contains stiffness and conductivity matrices
lcid | - load case id |
JK
Definition at line 25 of file globmatc.cpp.
References ivector::a, allocm(), allocv(), conductmat(), Cp, Ct, D0mat, destrm(), destrv(), gtopology::give_code_numbers(), gtopology::give_ndofe(), gmatrix::glocalize(), Gtm, Gtt, Gtu, gmatrix::initiate(), gmatrix::localize(), lower_cond_coupl_mat(), Mesprc, Mt, Ndofc, couptop::ne, transtop::ne, mechtop::ne, Outc, gmatrix::prepmat(), gmatrix::setval(), probdescc::ssle, stiffmat(), probdescc::tstord0, Tt, upper_cond_coupl_mat(), and probdescc::zero.
Referenced by newton_raphson_coupl(), and newton_raphson_coupl_new().