SIFEL/METR/SRC/globmatc.h File Reference

#include "global.h"
#include "globalt.h"
#include "globalc.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)

Function Documentation

void approximation_humid (  ) 
void approximation_inittemper (  ) 
void approximation_temper (  ) 
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

Parameters:
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 (  ) 
void elemvaluesc ( long  lcid,
double *  r,
long *  cn,
long  ndofe 
)

function extracts TRFEL values on one element

Parameters:
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  ) 
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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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 (  ) 
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.

Returns:
The function does not return anything.

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.

Returns:
The function does not return anything but it changes values in the Tm->nontransq array.

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.

Parameters:
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
Returns:
The function returns maps in the tm_ip and mt_ip.

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

Parameters:
lcid - load case id
rhs - array of right hand side
flv - array of load vector caused by forces only (default value is NULL)
Returns:
The function returns assembled vectors of righ hand side and load vector caused by force.

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

Parameters:
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

Parameters:
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.

Returns:
The function does not return anything.

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.

Returns:
The function does not return anything but it changes values in the Mm->nonmechq array.

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  ) 

Generated by  doxygen 1.6.2