SIFEL/TRFEL/SRC/elemswitcht.cpp File Reference

#include "elemswitcht.h"
#include "globalt.h"
#include "globmatt.h"

Go to the source code of this file.

Functions

void averageflux (long lcid, long eid, vector &fl)
void avercmat (long eid, double &elemarea, matrix &cm)
void averdmat (long eid, double &elemarea, matrix &km)
void capacmat (long eid, long lcid, matrix &cm)
void compute_average_fluxes (long lcid, vector &fl)
void compute_ipeqotherst ()
void compute_ipfluxes ()
void compute_ipgrads ()
void compute_ipotherst ()
void compute_nodeeqotherst ()
void compute_nodefluxes ()
void compute_nodegrads ()
void compute_nodeotherst ()
void compute_nodeotherst_comp ()
void conductmat (long eid, long lcid, matrix &km)
void elem_intpointvalt (long eid, vector &nodval, vector &ipval)
void elem_neumann_vector (vector &lv, long lcid, long eid, long i)
void elem_newton_vector (vector &lv, long lcid, long eid, long i)
double elem_total_integral (long eid, vector &nodval)
double elem_total_integral_ip (long eid, long varid)
void elem_transmission_flux (vector &lv, long lcid, long eid, long i)
void elem_transq_nodval (long eid, vector &nodval, nonmechquant nmq)
void elem_transq_nodval_comp (long eid, vector &nodval, long ncne, long nq, nonmechquant *qt)
void give_transq_nodval (double *gv, long mnt, nonmechquant nmq)
void higher_to_lower_level_elem (long eid, long *counter, double *buff)
void internal_fluxes (double *intflux, long n)
void intpointeqothers (long eid)
void intpointfluxes (long eid)
void intpointgradients (long eid)
void intpointothers (long eid)
void intpointvalt (double *gv, nontransquant ntq, double scale)
void intpointvalues (long eid)
void intpointvalues_puc (long eid)
void lmat (long eid, long lcid, matrix &lm)
void ltmat (long eid, long lcid, matrix &lm)
void source_vector (long lcid, long eid, vector &nodval, vector &lv)
void volume_rhs_vector (vector &lv, long lcid, long eid)

Function Documentation

void averageflux ( long  lcid,
long  eid,
vector fl 
)

function computes values of array other at integration points

Parameters:
lcid - load case id, id of the medium
eid - element id
fl - vector containing flux

JK, 12. 8. 2014

Definition at line 423 of file elemswitcht.cpp.

References linhext::average_flux(), barlint, barlintax, barquadt, barquadtax, transtop::give_elem_type(), Lht, linearhext, lineartett, print_err(), quadlaxisym, quadlint, quadquadt, quadquadtax, quadratichext, trlaxisym, trlint, and Tt.

Referenced by compute_average_fluxes().

void avercmat ( long  eid,
double &  elemarea,
matrix cm 
)
void averdmat ( long  eid,
double &  elemarea,
matrix km 
)
void capacmat ( long  eid,
long  lcid,
matrix cm 
)

function computes capacity matrix of one element

Parameters:
eid - element id
lcid - load case id
km - capacity matrix of one element

Definition at line 87 of file elemswitcht.cpp.

Referenced by capacity_matrix(), and first_order_matrix().

void compute_average_fluxes ( long  lcid,
vector fl 
)

The function computes average flux All components in all integration points are taken into account. The function is used in homogenization/tiling.

Parameters:
lcid - load case id
Returns:
The function does not return anything.

JK, 12. 8. 2014

Definition at line 744 of file elemswitcht.cpp.

References vector::a, averageflux(), Gtt, gtopology::leso, vector::n, transtop::ne, nullv(), and Tt.

void compute_ipeqotherst (  ) 

The function computes eqother values at integration points. All components at all integration points are evaluated.

Parameters:
lcid - load case id
Returns:
The function does not return anything.

Created by TKr, 01/02/2010

Definition at line 820 of file elemswitcht.cpp.

References Gtt, intpointeqothers(), gtopology::leso, transtop::ne, and Tt.

Referenced by compute_req_valt().

void compute_ipfluxes (  ) 

The function computes fluxes at integration points. All components at all integration points are evaluated.

Parameters:
lcid - load case id
Returns:
The function does not return anything.

Created by TKr, 01/02/2010

Definition at line 718 of file elemswitcht.cpp.

References Gtt, intpointfluxes(), gtopology::leso, transtop::ne, and Tt.

Referenced by compute_req_valt().

void compute_ipgrads (  ) 

The function computes gradients at integration points. All components at all integration points are evaluated.

Parameters:
lcid - load case id
Returns:
The function does not return anything.

Created by LS, 31.8.2012

Definition at line 772 of file elemswitcht.cpp.

References Gtt, intpointgradients(), gtopology::leso, and gtopology::ne.

Referenced by adaptivityt::run().

void compute_ipotherst (  ) 

The function computes other values at integration points. All components at all integration points are evaluated.

Parameters:
lcid - load case id
Returns:
The function does not return anything.

Created by TKr, 01/02/2010

Definition at line 793 of file elemswitcht.cpp.

References Gtt, intpointothers(), gtopology::leso, transtop::ne, and Tt.

Referenced by compute_req_valt().

void compute_nodeeqotherst (  ) 

Function computes eqother values at element nodes. Nodal eqother values are averaged. In case of bar elements be carefull if averaging is reasonable.

Parameters:
lcid - load case id
Returns:
The function does not return anything.

TKr, 01/02/2010

Definition at line 1213 of file elemswitcht.cpp.

References barlint, barlintax, barquadt, barquadtax, nodet::eqother_averageval(), transtop::give_elem_type(), Gtt, gtopology::leso, linearhext, lineartett, Lqt, transtop::ne, transtop::nn, quadlineart::nod_eqother_ip(), transtop::nodes, nodet::nulleqother(), print_err(), quadlaxisym, quadlint, quadquadt, quadquadtax, quadratichext, trlaxisym, trlint, and Tt.

Referenced by compute_req_valt().

void compute_nodefluxes (  ) 

Function computes fluxes at element nodes. Nodal fluxes are averaged. In case of bar elements be carefull if averaging is reasonable.

Parameters:
lcid - load case id
Returns:
The function does not return anything.

TKr, 01/02/2010

Definition at line 939 of file elemswitcht.cpp.

References barlint, barlintax, barquadt, barquadtax, nodet::flux_averageval(), transtop::give_elem_type(), Gtt, Lbt, gtopology::leso, linearhext, lineartett, Lqt, transtop::ne, transtop::nn, quadlineart::nod_fluxes_ip(), linbart::nod_fluxes_ip(), transtop::nodes, nodet::nullflux(), print_err(), quadlaxisym, quadlint, quadquadt, quadquadtax, quadratichext, trlaxisym, trlint, and Tt.

Referenced by compute_req_valt(), and transtop::compute_resistance_factor().

void compute_nodegrads (  ) 

Function computes gradients at element nodes. Nodal gradients are averaged. In case of bar elements be carefull if averaging is reasonable.

Parameters:
lcid - load case id
Returns:
The function does not return anything.

TKr, 01/02/2010

Definition at line 848 of file elemswitcht.cpp.

References barlint, barlintax, barquadt, barquadtax, transtop::give_elem_type(), nodet::grad_averageval(), Gtt, Lbt, gtopology::leso, linearhext, lineartett, Lqt, transtop::ne, transtop::nn, quadlineart::nod_grads_ip(), linbart::nod_grads_ip(), transtop::nodes, nodet::nullgrad(), print_err(), quadlaxisym, quadlint, quadquadt, quadquadtax, quadratichext, trlaxisym, trlint, and Tt.

Referenced by compute_req_valt().

void compute_nodeotherst (  ) 

Function computes other values at element nodes. Nodal other values are averaged. In case of bar elements be carefull if averaging is reasonable.

Parameters:
lcid - load case id
Returns:
The function does not return anything.

TKr, 01/02/2010

Definition at line 1030 of file elemswitcht.cpp.

References barlint, barlintax, barquadt, barquadtax, transtop::give_elem_type(), Gtt, gtopology::leso, linearhext, lineartett, transtop::ne, transtop::nn, transtop::nodes, nodet::nullother(), nodet::other_averageval(), print_err(), quadlaxisym, quadlint, quadquadt, quadquadtax, quadratichext, trlaxisym, trlint, and Tt.

Referenced by compute_req_valt().

void compute_nodeotherst_comp (  ) 

Function computes other values directly at element nodes. Nodal other values are averaged. In case of bar elements be carefull if averaging is reasonable.

Parameters:
lcid - load case id
Returns:
The function does not return anything.

TKr, 01/02/2010

Definition at line 1122 of file elemswitcht.cpp.

References barlint, barlintax, barquadt, barquadtax, transtop::give_elem_type(), Gtt, Lbt, gtopology::leso, Lht, linearhext, lineartett, Lqt, transtop::ne, transtop::nn, linhext::nod_others_comp(), quadquadrilatt::nod_others_comp(), quadlineart::nod_others_comp(), quadbart::nod_others_comp(), linbart::nod_others_comp(), transtop::nodes, nodet::nullother(), nodet::other_averageval(), print_err(), Qbt, Qqt, quadlaxisym, quadlint, quadquadt, quadquadtax, quadratichext, trlaxisym, trlint, and Tt.

Referenced by compute_req_valt().

void conductmat ( long  eid,
long  lcid,
matrix km 
)

function computes conductivity matrix of one element

Parameters:
eid - element id
lcid - load case id
km - conductivity matrix of one element

Definition at line 13 of file elemswitcht.cpp.

Referenced by assemble_conductivity_matrix(), assemble_init(), conductivity_matrix(), and zero_order_matrix().

void elem_intpointvalt ( long  eid,
vector nodval,
vector ipval 
)

function approximates nodal values to integration points

Parameters:
eid - element id
nodval - vector of nodal values
ipval - vector of values at integration points (output)

12/06/2012 TKr according to JK

Definition at line 1969 of file elemswitcht.cpp.

References barlint, transtop::give_elem_type(), quadlineart::intpointval(), linbart::intpointval(), Lbt, Lqt, print_err(), quadlint, and Tt.

Referenced by intpointvalt(), mefel_trfel(), and mefel_trfel_by_nodes().

void elem_neumann_vector ( vector lv,
long  lcid,
long  eid,
long  i 
)
void elem_newton_vector ( vector lv,
long  lcid,
long  eid,
long  i 
)
double elem_total_integral ( long  eid,
vector nodval 
)
double elem_total_integral_ip ( long  eid,
long  varid 
)

function returns integral over a single finite element variable is stored in integration points

Parameters:
eid - number of element
varid - id of variable required

3. 10. 2013, JK

Definition at line 2148 of file elemswitcht.cpp.

References barlint, transtop::give_elem_type(), Lbt, print_err(), linbart::total_integral_ip(), and Tt.

Referenced by total_integral_ip().

void elem_transmission_flux ( vector lv,
long  lcid,
long  eid,
long  i 
)

function computes nodal values of boundary fluxes on element caused by transmission

this function differs from the function elem_newton_vector this function computes fluxes on boundaries while the function elem_newton_vector computes terms for the right hand side vector

this function computes (T-T_{ext})

Parameters:
lv - vector of nodal values
lcid - load case id
eid - element id
i - index in the list of loaded elements

JK, 22.11.2008

Definition at line 1563 of file elemswitcht.cpp.

References barlint, barlintax, barquadt, barquadtax, transtop::elements, Lbat, Lbt, Lht, linearhext, lineartett, Lqat, Lqt, Ltat, Ltett, Ltt, print_err(), Qbat, Qbt, Qht, Qqat, Qqt, quadlaxisym, quadlint, quadquadt, quadquadtax, quadratichext, quadhext::res_boundary_flux(), linhext::res_boundary_flux(), lintett::res_boundary_flux(), quadquadrilattax::res_boundary_flux(), quadquadrilatt::res_boundary_flux(), quadlinaxisym::res_boundary_flux(), quadlineart::res_boundary_flux(), trlinaxisym::res_boundary_flux(), trlineart::res_boundary_flux(), quadbartax::res_boundary_flux(), quadbart::res_boundary_flux(), linbartax::res_boundary_flux(), linbart::res_boundary_flux(), elementt::te, trlaxisym, trlint, and Tt.

Referenced by loadcaset::assemble_flux().

void elem_transq_nodval ( long  eid,
vector nodval,
nonmechquant  nmq 
)

The function returns transport quantities from element nodes. The quantities are copied from the closest integration points to element nodes.

Parameters:
eid - element id
nodval - vector of nodal values
nmq - type of transport (non-mechanical) quantity
Returns:
The function does not return anything.

13/08/2012 TKr Modified 7.10.2013 TKo

Definition at line 2044 of file elemswitcht.cpp.

References barlint, transtop::give_elem_type(), Lbt, Lqt, print_err(), quadlint, quadlineart::transq_nodval(), linbart::transq_nodval(), and Tt.

Referenced by give_transq_nodval().

void elem_transq_nodval_comp ( long  eid,
vector nodval,
long  ncne,
long  nq,
nonmechquant qt 
)

Function computes transport (non-mechanical) quantities in nodes of element.

Parameters:
eid - element id
nodval - vector of nodal values of all required quantities, i.e., nodal value of i-th quantity in j-th node is given by nodval[i*ncnv+j] where ncnv is the number of calculated nodes on eid-th element.
ncne - number of computed nodes on element (only first ncne of nodes is calculated)
nq - number of required transport quantities
qt - array of types of required transport quantities
Returns:
The function does not return anything.

Created by Tomas Koudelka, 9.12.2013

Definition at line 2082 of file elemswitcht.cpp.

References barlint, transtop::give_elem_type(), Lbt, Lqt, print_err(), quadlint, quadlineart::transq_nodval_comp(), linbart::transq_nodval_comp(), and Tt.

Referenced by trfel_mefel_by_nodes().

void give_transq_nodval ( double *  gv,
long  mnt,
nonmechquant  nmq 
)

function approximates nontransport quantity from integration points to nodes

Parameters:
gv - vector of nodal nontransport quantity
mnt - global number of nodes
nmq - type of transport (non-mechanical) quantity

13/09/2012 TKr Modified 7.10.2013 TKo

Definition at line 2002 of file elemswitcht.cpp.

References elem_transq_nodval(), transtop::give_elemnodes(), transtop::give_nne(), Gtt, gtopology::leso, transtop::ne, nodes, nodval(), reallocv(), and Tt.

Referenced by nodal_nodal_values().

void higher_to_lower_level_elem ( long  eid,
long *  counter,
double *  buff 
)

function selects components from the global level

Parameters:
eid - element id
counter - actual position in the array buff
buff - array containing components

JK, 25.3.2011

Definition at line 1877 of file elemswitcht.cpp.

References transtop::give_elem_type(), linhext::higher_to_lower_level(), lintett::higher_to_lower_level(), quadlineart::higher_to_lower_level(), trlineart::higher_to_lower_level(), Lht, linearhext, lineartett, Lqt, Ltett, Ltt, print_err(), quadlint, trlint, and Tt.

void internal_fluxes ( double *  intflux,
long  n 
)
void intpointeqothers ( long  eid  ) 

function computes values of array eqother at integration points

Parameters:
eid - element id

TKr, 01/02/2010

Definition at line 570 of file elemswitcht.cpp.

References barlint, barlintax, barquadt, barquadtax, transtop::give_elem_type(), linearhext, lineartett, print_err(), quadlaxisym, quadlint, quadquadt, quadquadtax, quadratichext, trlaxisym, trlint, and Tt.

Referenced by compute_ipeqotherst().

void intpointfluxes ( long  eid  ) 
void intpointgradients ( long  eid  ) 

function computes gradients on integration points

Parameters:
eid - element id

JK, 10.7.2008

Definition at line 274 of file elemswitcht.cpp.

Referenced by approximation(), and compute_ipgrads().

void intpointothers ( long  eid  ) 
void intpointvalt ( double *  gv,
nontransquant  ntq,
double  scale 
)

The function interpolates nodal values into integration points.

Parameters:
gv - array containing values at all nodes of the mesh
ntq - type of non-transport quantity
scale - scale coefficient
Returns:
The function does not return anything.

12/06/2012 TKr according to JK

Definition at line 1922 of file elemswitcht.cpp.

References elem_intpointvalt(), transtop::elements, transtop::give_elemnodes(), transtop::give_nne(), transtop::give_tnip(), Gtt, elementt::ipp, gtopology::leso, transtop::ne, nodes, nodval(), reallocv(), transmat::storenontransq(), Tm, and Tt.

void intpointvalues ( long  eid  ) 

function approximates nodal values to integration points

Parameters:
eid - element id

JK

Definition at line 161 of file elemswitcht.cpp.

Referenced by approximation().

void intpointvalues_puc ( long  eid  ) 

function approximates nodal values of actual unknown to integration points of PUC

Parameters:
eid - element id

TKr, 08/09/2010

Definition at line 236 of file elemswitcht.cpp.

References transtop::give_elem_type(), linhext::intpointval_puc(), lintett::intpointval_puc(), quadlineart::intpointval_puc(), trlineart::intpointval_puc(), Lht, linearhext, lineartett, Lqt, Ltett, Ltt, print_err(), quadlint, trlint, and Tt.

Referenced by approximation_puc().

void lmat ( long  eid,
long  lcid,
matrix lm 
)

function computes l_t matrix of one element

Parameters:
eid - element id
lcid - load case id
lm - l matrix of one element

Definition at line 1713 of file elemswitcht.cpp.

References transtop::give_elem_type(), Lht, linearhext, lineartett, Lqt, Ltett, Ltt, print_err(), quadlint, linhext::res_l_matrix(), lintett::res_l_matrix(), quadlineart::res_l_matrix(), trlineart::res_l_matrix(), trlint, and Tt.

Referenced by assemble_l_matrix().

void ltmat ( long  eid,
long  lcid,
matrix lm 
)

function computes l_t matrix of one element

Parameters:
eid - element id
lcid - load case id
lm - l_t matrix of one element

Definition at line 1753 of file elemswitcht.cpp.

References transtop::give_elem_type(), Lht, linearhext, lineartett, Lqt, Ltett, Ltt, print_err(), quadlint, linhext::res_l_t_matrix(), lintett::res_l_t_matrix(), quadlineart::res_l_t_matrix(), trlineart::res_l_t_matrix(), trlint, and Tt.

Referenced by assemble_gradients_contrib(), and assemble_l_matrix().

void source_vector ( long  lcid,
long  eid,
vector nodval,
vector lv 
)

function computes contributions from source of quantity

Parameters:
lcid - load case id
eid - element id
nodval - array of source nodal values
lv - local vector

JK, 25.6.2005

Definition at line 647 of file elemswitcht.cpp.

Referenced by loadcaset::source_contrib().

void volume_rhs_vector ( vector lv,
long  lcid,
long  eid 
)

function computes volume integral

Parameters:
lv - vector of nodal values
lcid - load case id
eid - element id

JK, 22.11.2008, corrected by TKr 10/12/2013

Definition at line 1639 of file elemswitcht.cpp.

References barlint, barquadt, transtop::elements, Lbt, Lht, linearhext, lineartett, Lqat, Lqt, print_err(), Qbt, quadlaxisym, quadlint, linhext::res_volume_rhs_vector(), quadlinaxisym::res_volume_rhs_vector(), quadlineart::res_volume_rhs_vector(), quadbart::res_volume_rhs_vector(), linbart::res_volume_rhs_vector(), elementt::te, trlint, and Tt.

Referenced by trfel_right_hand_side().


Generated by  doxygen 1.6.2