#include "alias.h"
#include "galias.h"
#include "vector.h"
#include "matrix.h"
Go to the source code of this file.
Functions | |
void | compute_ipstrains (long lcid) |
function computes strains at integration points | |
void | compute_ipstresses (long lcid) |
function computes stresses at integration points | |
void | compute_nodeothers () |
function computes values of other array at nodes | |
void | compute_nodestrains (long lcid) |
function computes strains at nodes with respect to setup in problem description | |
void | compute_nodestresses (long lcid) |
function computes stresses at nodes | |
void | computestrains (long lcid) |
general function for strain computation | |
void | computestresses (long lcid) |
general function for stress computation | |
void | elem_eigstrain_forces (long lcid, long eid, vector &nfor) |
function computes nodal forces caused by eigenstrains on one element | |
void | elem_incr_internal_forces (long i, long lcid, vector &ifor) |
function computes contributions to increments of internal forces from one element | |
void | elem_integration_quant (long eid, integratedquant iq, long lcid, vector &nv) |
function integrates arbitrary selected quantity over element volume | |
void | elem_internal_forces (long i, long lcid, vector &ifor) |
function computes contributions to internal forces from one element | |
void | elem_intpointval (long eid, vector &nodval, vector &ipval) |
function interpolates nodal values to integration points on one element | |
void | elem_intpointval2 (long eid, vector &nodval, vector &ipval) |
function interpolates nodal values into integration points using lower order approximation | |
void | elem_local_values (long i, long lcid) |
function computes local values for consecutive averaging | |
void | elem_mechq_nodval (long eid, vector &nodval, nontransquant ntq) |
function determines mechanical quantities at nodes on one element, they are used by TRFEL in coupled problems | |
void | elem_mechq_nodval_comp (long eid, vector &nodval, long ncne, long nq, nontransquant *qt) |
function computes mechanical quantities in nodes on one element, they are used by TRFEL in coupled problems | |
void | elem_nlstresses (long i, long lcid) |
function computes stresses | |
void | elem_nonloc_internal_forces (long i, long lcid, vector &ifor) |
function computes contributions to internal forces from one element nonlocally | |
void | find_extreme_ipstresses (long lcid) |
void | initstiffmat (long lcid, long eid, matrix &sm) |
function computes intial stiffness matrix of required element | |
double | interpolate (long eid, double *nodval, double *coord) |
function interpolates arbitrary nodal quantity to the required inner point | |
void | intpointval (double *gv, nonmechquant nmq, double scale) |
function interpolates nodal values into integration points | |
void | intpointval2 (double *gv, nonmechquant nmq) |
function interpolates nodal values into integration points using lower order approximation | |
void | ipvolume () |
function computes volume appropriate to integration points | |
void | loadmat (long eid, matrix &lm) |
function computes load matrix of required element | |
void | massmat (long lcid, long eid, matrix &mm) |
function computes mass matrix of required element | |
void | nodestrains_comp (long lcid) |
function computes strains directly at nodes | |
void | stiffmat (long lcid, long eid, matrix &sm) |
function computes stiffness matrix of required element |
void compute_ipstrains | ( | long | lcid | ) |
function computes strains at integration points
The function computes strains at integration points. All components at all integration points are evaluated.
lcid | - load case id |
Created by JK, 28.11.2006
Definition at line 28 of file elemswitch.cpp.
References mechmat::add_macro_strains(), Asymlq, Asymlt, Asymqq, axisymmlq, axisymmlt, axisymmqq, Bar2d, bar2d, Bar3d, bar3d, Barq2d, barq2d, Barq3d, barq3d, Beam2d, beam2d, Beam3d, beam3d, Beam3dg, beamg3d, Cct, cctel, mechmat::cleanstrain(), Dkt, dktel, Dst, dstel, mechmat::eigstrmod(), mechtop::give_elem_type(), lhsrhs::give_lhs(), mechtop::give_ncomp(), Gtm, probdesc::homog, gtopology::leso, Lhex, Lhexrot, linearhex, linearhexrot, lineartet, lineartetrot, Lsrs, Ltet, Ltetrot, Mm, Mp, Mt, Ndofm, mechtop::ne, beamgen3d::nodal_displ(), beamel3d::nodal_displ(), beamel2d::nodal_displ(), particleelem, Pelq, Pelt, Peqq, Peqt, Perlq, Perlt, Pesqt, planeelementlq, planeelementlt, planeelementqq, planeelementqt, planeelementrotlq, planeelementrotlt, planeelementsubqt, planequadcontact, Pqcon, print_err(), Q4pl, q4plateel, Qhex, Qtet, quadrhex, quadrtet, axisymqq::res_allip_strains(), axisymlq::res_allip_strains(), linhexrot::res_ip_strains(), lintetrot::res_ip_strains(), quadhex::res_ip_strains(), linhex::res_ip_strains(), quadtet::res_ip_strains(), lintet::res_ip_strains(), shellq::res_ip_strains(), shelltr::res_ip_strains(), q4plate::res_ip_strains(), dstelem::res_ip_strains(), dktelem::res_ip_strains(), cctelem::res_ip_strains(), planeelemrotlq::res_ip_strains(), planeelemqq::res_ip_strains(), planeelemlq::res_ip_strains(), planeelemrotlt::res_ip_strains(), planeelemlt::res_ip_strains(), barel3d::res_ip_strains(), barel2d::res_ip_strains(), axisymlt::res_mainip_strains(), soilplateq::res_mainip_strains(), soilplatetr::res_mainip_strains(), plquadcontact::res_mainip_strains(), planeelemsubqt::res_mainip_strains(), planeelemqt::res_mainip_strains(), barelq3d::res_mainip_strains(), barelq2d::res_mainip_strains(), Sbeam, shellqelem, shelltrelem, Shq, Shtr, Splq, Spltr, Spring, spring_1, spring_2, spring_3, spring_4, spring_5, spring_6, springel::strains(), soilbeam::strains(), subsoilbeam, subsoilplateq, and subsoilplatetr.
Referenced by compute_req_val(), computestrains(), incr_internal_forces(), mechmat::initvalues(), loc_internal_forces(), nonloc_internal_forces(), solve_var_stiff_method(), and stress_initdispl().
void compute_ipstresses | ( | long | lcid | ) |
function computes stresses at integration points
The function computes all stresses at integration points.
lcid | - load case id |
Created by JK, 28.11.2006
Definition at line 753 of file elemswitch.cpp.
References Asymlq, Asymlt, Asymqq, axisymmlq, axisymmlt, axisymmqq, Bar2d, bar2d, Bar3d, bar3d, Barq2d, barq2d, Barq3d, barq3d, Beam2d, beam2d, Beam3d, beam3d, Beam3dg, beamg3d, Cct, cctel, Dkt, dktel, Dst, dstel, mechtop::give_elem_type(), Gtm, gtopology::leso, Lhex, Lhexrot, linearhex, linearhexrot, lineartet, lineartetrot, Ltet, Ltetrot, Mt, mechtop::ne, beamgen3d::nodal_forces(), beamel3d::nodal_forces(), beamel2d::nodal_forces(), particleelem, Pelq, Pelt, Peqq, Perlt, planeelementlq, planeelementlt, planeelementqq, planeelementrotlt, planequadcontact, Pqcon, print_err(), Q4pl, q4plateel, Qhex, Qtet, quadrhex, quadrtet, axisymqq::res_allip_stresses(), axisymlq::res_allip_stresses(), linhexrot::res_ip_stresses(), lintetrot::res_ip_stresses(), quadhex::res_ip_stresses(), linhex::res_ip_stresses(), quadtet::res_ip_stresses(), lintet::res_ip_stresses(), shellq::res_ip_stresses(), shelltr::res_ip_stresses(), q4plate::res_ip_stresses(), dstelem::res_ip_stresses(), dktelem::res_ip_stresses(), cctelem::res_ip_stresses(), planeelemqq::res_ip_stresses(), planeelemlq::res_ip_stresses(), planeelemrotlt::res_ip_stresses(), planeelemlt::res_ip_stresses(), barel3d::res_ip_stresses(), barel2d::res_ip_stresses(), axisymlt::res_mainip_stresses(), plquadcontact::res_mainip_stresses(), barelq3d::res_mainip_stresses(), barelq2d::res_mainip_stresses(), shellqelem, shelltrelem, Shq, Shtr, Spring, spring_1, spring_2, spring_3, spring_4, spring_5, spring_6, springel::stresses(), subsoilplateq, and subsoilplatetr.
Referenced by compute_req_val(), computestresses(), response_spectrum_method(), and solve_var_stiff_method().
void compute_nodeothers | ( | ) |
function computes values of other array at nodes
The function computes other values in nodes.
lcid | - load case id |
Created by JK,
Definition at line 1601 of file elemswitch.cpp.
References Asymlq, Asymlt, Asymqq, axisymmlq, axisymmlt, axisymmqq, Bar2d, bar2d, bar3d, Barq2d, barq2d, barq3d, mechtop::give_elem_type(), Gtm, gtopology::leso, Lhex, linearhex, lineartet, Ltet, Mt, mechtop::ne, mechtop::nn, quadhex::nod_eqother_ip(), linhex::nod_eqother_ip(), quadtet::nod_eqother_ip(), lintet::nod_eqother_ip(), axisymqq::nod_eqother_ip(), axisymlq::nod_eqother_ip(), axisymlt::nod_eqother_ip(), planeelemqq::nod_eqother_ip(), planeelemlq::nod_eqother_ip(), barelq2d::nod_eqother_ip(), barel2d::nod_eqother_ip(), planeelemlt::nod_others(), mechtop::nodes, node::nullother(), node::other_averageval(), Pelq, Pelt, Peqq, planeelementlq, planeelementlt, planeelementqq, print_err(), Qhex, Qtet, quadrhex, quadrtet, spring_1, spring_2, spring_3, spring_4, spring_5, and spring_6.
Referenced by compute_req_val().
void compute_nodestrains | ( | long | lcid | ) |
function computes strains at nodes with respect to setup in problem description
Function computes strains at element nodes. Nodal strains are averaged. In case of bar and beam elements be carefull if averaging is reasonable.
lcid | - load case id |
Created by JK, 28.11.2006
Definition at line 268 of file elemswitch.cpp.
References Asymlq, Asymlt, Asymqq, axisymmlq, axisymmlt, axisymmqq, Bar2d, bar2d, bar3d, Barq2d, barq2d, barq3d, Beam2d, beam2d, Beam3d, beam3d, Cct, cctel, probdesc::detnodstrain, dktel, dstel, mechtop::give_elem_type(), Gtm, gtopology::leso, Lhex, Lhexrot, linearhex, linearhexrot, lineartet, lineartetrot, Ltet, Ltetrot, Mp, Mt, mechtop::ne, mechtop::nn, planeelemsubqt::nod_strains(), planeelemqt::nod_strains(), linhexrot::nod_strains_ip(), lintetrot::nod_strains_ip(), quadhex::nod_strains_ip(), linhex::nod_strains_ip(), quadtet::nod_strains_ip(), lintet::nod_strains_ip(), shellq::nod_strains_ip(), shelltr::nod_strains_ip(), axisymqq::nod_strains_ip(), axisymlq::nod_strains_ip(), axisymlt::nod_strains_ip(), cctelem::nod_strains_ip(), planeelemqq::nod_strains_ip(), planeelemlq::nod_strains_ip(), planeelemrotlt::nod_strains_ip(), planeelemlt::nod_strains_ip(), barelq2d::nod_strains_ip(), barel2d::nod_strains_ip(), beamel3d::nodal_displ(), beamel2d::nodal_displ(), mechtop::nodes, node::nullstrain(), particleelem, Pelq, Pelt, Peqq, Peqt, Perlt, Pesqt, planeelementlq, planeelementlt, planeelementqq, planeelementqt, planeelementrotlq, planeelementrotlt, planeelementsubqt, print_err(), q4plateel, Qhex, Qtet, quadrhex, quadrtet, shellqelem, shelltrelem, Shq, Shtr, spring_1, spring_2, spring_3, spring_4, spring_5, spring_6, node::strain_averageval(), subsoilplateq, and subsoilplatetr.
Referenced by compute_req_val().
void compute_nodestresses | ( | long | lcid | ) |
function computes stresses at nodes
The function computes stresses at element nodes. Nodal stresses are averaged. In case of bar and beam elements, be carefull if averaging is reasonable.
lcid | - load case id |
Created by JK, 28.11.2006
Definition at line 1246 of file elemswitch.cpp.
References Asymlq, Asymlt, Asymqq, axisymmlq, axisymmlt, axisymmqq, Bar2d, bar2d, bar3d, Barq2d, barq2d, barq3d, Beam2d, beam2d, Beam3d, beam3d, Beam3dg, beamg3d, Cct, cctel, dktel, dstel, mechtop::give_elem_type(), Gtm, gtopology::leso, Lhex, Lhexrot, linearhex, linearhexrot, lineartet, lineartetrot, Ltet, Ltetrot, Mt, mechtop::ne, mechtop::nn, planeelemsubqt::nod_stresses(), planeelemqt::nod_stresses(), linhexrot::nod_stresses_ip(), lintetrot::nod_stresses_ip(), quadhex::nod_stresses_ip(), linhex::nod_stresses_ip(), quadtet::nod_stresses_ip(), lintet::nod_stresses_ip(), shellq::nod_stresses_ip(), shelltr::nod_stresses_ip(), axisymqq::nod_stresses_ip(), axisymlq::nod_stresses_ip(), axisymlt::nod_stresses_ip(), cctelem::nod_stresses_ip(), planeelemqq::nod_stresses_ip(), planeelemlq::nod_stresses_ip(), planeelemrotlt::nod_stresses_ip(), planeelemlt::nod_stresses_ip(), barelq2d::nod_stresses_ip(), barel2d::nod_stresses_ip(), beamgen3d::nodal_forces(), beamel3d::nodal_forces(), beamel2d::nodal_forces(), mechtop::nodes, node::nullstress(), particleelem, Pelq, Pelt, Peqq, Peqt, Perlt, Pesqt, planeelementlq, planeelementlt, planeelementqq, planeelementqt, planeelementrotlq, planeelementrotlt, planeelementsubqt, print_err(), q4plateel, Qhex, Qtet, quadrhex, quadrtet, shellqelem, shelltrelem, Shq, Shtr, spring_1, spring_2, spring_3, spring_4, spring_5, spring_6, node::stress_averageval(), subsoilplateq, and subsoilplatetr.
Referenced by compute_req_val().
void computestrains | ( | long | lcid | ) |
general function for strain computation
The function computes strains at strain points.
lcid | - load case id |
Created by JK,
Definition at line 555 of file elemswitch.cpp.
References compute_ipstrains().
void computestresses | ( | long | lcid | ) |
general function for stress computation
The function computes stresses at stress points.
lcid | - load case id |
Created by JK,
Definition at line 1432 of file elemswitch.cpp.
References Asymlq, Asymlt, Asymqq, axisymmlq, axisymmlt, axisymmqq, Bar2d, bar2d, Bar3d, bar3d, Barq2d, barq2d, Barq3d, barq3d, Beam2d, beam2d, Beam3d, beam3d, Cct, cctel, compute_ipstresses(), Dkt, dktel, Dst, dstel, mechtop::give_elem_type(), Gtm, gtopology::leso, Lhex, Lhexrot, linearhex, linearhexrot, lineartet, lineartetrot, Ltet, Ltetrot, Mt, mechtop::ne, beamel3d::nodal_forces(), beamel2d::nodal_forces(), particleelem, Pelq, Pelt, Peqq, Peqt, Perlq, Perlt, Pesqt, planeelementlq, planeelementlt, planeelementqq, planeelementqt, planeelementrotlq, planeelementrotlt, planeelementsubqt, print_err(), Q4pl, q4plateel, Qhex, Qtet, quadrhex, quadrtet, shellqelem, shelltrelem, Shq, Shtr, Spring, spring_1, spring_2, spring_3, spring_4, spring_5, spring_6, linhexrot::stresses(), lintetrot::stresses(), quadhex::stresses(), linhex::stresses(), quadtet::stresses(), lintet::stresses(), shellq::stresses(), shelltr::stresses(), axisymqq::stresses(), axisymlq::stresses(), axisymlt::stresses(), q4plate::stresses(), dstelem::stresses(), dktelem::stresses(), cctelem::stresses(), planeelemsubqt::stresses(), planeelemrotlq::stresses(), planeelemqq::stresses(), planeelemlq::stresses(), planeelemrotlt::stresses(), planeelemqt::stresses(), planeelemlt::stresses(), springel::stresses(), barelq3d::stresses(), barelq2d::stresses(), barel3d::stresses(), and barel2d::stresses().
void elem_eigstrain_forces | ( | long | lcid, | |
long | eid, | |||
vector & | nfor | |||
) |
function computes nodal forces caused by eigenstrains on one element
The function computes nodal forces caused by eigenstrains on one element.
lcid | - load case id | |
eid | - element id | |
nfor | - vector of nodal values (output) |
Created by JK,
Definition at line 3110 of file elemswitch.cpp.
void elem_incr_internal_forces | ( | long | i, | |
long | lcid, | |||
vector & | ifor | |||
) |
function computes contributions to increments of internal forces from one element
The function computes contributions to increments of internal forces from one finite element.
i | - element id | |
lcid | - load case id | |
ifor | - vector of increments of internal forces on one element (output) |
Created by JK, 29.4.2008
Definition at line 2944 of file elemswitch.cpp.
References Asymlq, Asymlt, Asymqq, axisymmlq, axisymmlt, axisymmqq, Bar2d, bar2d, Bar3d, bar3d, Barq2d, barq2d, Barq3d, barq3d, Cct, cctel, mechtop::give_elem_type(), Lhex, Lhexrot, linearhex, linearhexrot, lineartet, lineartetrot, Ltet, Ltetrot, Mt, Pelq, Pelt, Peqq, Peqt, Perlq, Perlt, Pesqt, planeelementlq, planeelementlt, planeelementqq, planeelementqt, planeelementrotlq, planeelementrotlt, planeelementsubqt, planequadcontact, print_err(), Q4pl, q4plateel, Qhex, Qtet, quadrhex, quadrtet, linhexrot::res_incr_internal_forces(), lintetrot::res_incr_internal_forces(), quadhex::res_incr_internal_forces(), linhex::res_incr_internal_forces(), quadtet::res_incr_internal_forces(), lintet::res_incr_internal_forces(), axisymqq::res_incr_internal_forces(), axisymlq::res_incr_internal_forces(), axisymlt::res_incr_internal_forces(), soilplateq::res_incr_internal_forces(), q4plate::res_incr_internal_forces(), cctelem::res_incr_internal_forces(), planeelemsubqt::res_incr_internal_forces(), planeelemrotlq::res_incr_internal_forces(), planeelemqq::res_incr_internal_forces(), planeelemlq::res_incr_internal_forces(), planeelemrotlt::res_incr_internal_forces(), planeelemqt::res_incr_internal_forces(), planeelemlt::res_incr_internal_forces(), barelq3d::res_incr_internal_forces(), barelq2d::res_incr_internal_forces(), barel3d::res_incr_internal_forces(), barel2d::res_incr_internal_forces(), Splq, spring_1, spring_2, spring_3, spring_4, spring_5, spring_6, and subsoilplateq.
Referenced by incr_internal_forces().
void elem_integration_quant | ( | long | eid, | |
integratedquant | iq, | |||
long | lcid, | |||
vector & | nv | |||
) |
function integrates arbitrary selected quantity over element volume
The function integrates arbitrary selected quantity over finite element, i.e. it performs {} {} d. It results in nodal values that can be used in the homogenization problems.
eid | - element id | |
iq | - type of integrated quantity (see alias.h) | |
lcid | - number of load case | |
nv | - nodal values (output) |
Created by TKo, 23.1.2015
Definition at line 2433 of file elemswitch.cpp.
References lintet::elem_integration_quant(), mechtop::give_elem_type(), lineartet, Ltet, Mt, and print_err().
Referenced by loc_internal_forces().
void elem_internal_forces | ( | long | i, | |
long | lcid, | |||
vector & | ifor | |||
) |
function computes contributions to internal forces from one element
The function computes contributions to internal forces from one finite element.
i | - element id | |
lcid | - load case id | |
ifor | - vector of internal forces on one element (output) |
Created by JK, 3.11.2006
Definition at line 2230 of file elemswitch.cpp.
References Asymlq, Asymlt, Asymqq, axisymmlq, axisymmlt, axisymmqq, Bar2d, bar2d, Bar3d, bar3d, Barq2d, barq2d, Barq3d, barq3d, Beam2d, beam2d, Beam3d, beam3d, Cct, cctel, Dkt, dktel, Dst, dstel, mechtop::give_elem_type(), Lhex, Lhexrot, linearhex, linearhexrot, lineartet, lineartetrot, Ltet, Ltetrot, Mt, particleelem, Pelem, Pelq, Pelt, Peqq, Peqt, Perlq, Perlt, Pesqt, planeelementlq, planeelementlt, planeelementqq, planeelementqt, planeelementrotlq, planeelementrotlt, planeelementsubqt, planequadcontact, Pqcon, print_err(), Q4pl, q4plateel, Qhex, Qtet, quadrhex, quadrtet, elemparticle::res_internal_forces(), linhexrot::res_internal_forces(), lintetrot::res_internal_forces(), quadhex::res_internal_forces(), linhex::res_internal_forces(), quadtet::res_internal_forces(), lintet::res_internal_forces(), shelltr::res_internal_forces(), axisymqq::res_internal_forces(), axisymlq::res_internal_forces(), axisymlt::res_internal_forces(), soilplatetr::res_internal_forces(), soilplateq::res_internal_forces(), q4plate::res_internal_forces(), dstelem::res_internal_forces(), dktelem::res_internal_forces(), cctelem::res_internal_forces(), plquadcontact::res_internal_forces(), planeelemsubqt::res_internal_forces(), planeelemrotlq::res_internal_forces(), planeelemqq::res_internal_forces(), planeelemlq::res_internal_forces(), planeelemrotlt::res_internal_forces(), planeelemqt::res_internal_forces(), planeelemlt::res_internal_forces(), springel::res_internal_forces(), soilbeam::res_internal_forces(), beamel3d::res_internal_forces(), beamel2d::res_internal_forces(), barelq3d::res_internal_forces(), barelq2d::res_internal_forces(), barel3d::res_internal_forces(), barel2d::res_internal_forces(), Sbeam, shelltrelem, Shtr, Splq, Spltr, Spring, spring_1, spring_2, spring_3, spring_4, spring_5, spring_6, subsoilbeam, subsoilplateq, and subsoilplatetr.
Referenced by loadcase::compute_reactions(), dloadcase::compute_reactions(), and loc_internal_forces().
function interpolates nodal values to integration points on one element
The function interpolates nodal values to integration points on one element.
eid | - element id | |
nodval | - vector of nodal values | |
ipval | - vector of values at integration points (output) |
Created by JK, 29.11.2006
Definition at line 1765 of file elemswitch.cpp.
References Asymlq, Asymqq, axisymmlq, axisymmqq, Bar2d, bar2d, Bar3d, bar3d, Barq2d, barq2d, Barq3d, barq3d, mechtop::give_elem_type(), linhexrot::intpointval(), lintetrot::intpointval(), quadhex::intpointval(), linhex::intpointval(), quadtet::intpointval(), lintet::intpointval(), axisymqq::intpointval(), axisymlq::intpointval(), planeelemqq::intpointval(), planeelemlq::intpointval(), planeelemlt::intpointval(), springel::intpointval(), barelq3d::intpointval(), barelq2d::intpointval(), barel3d::intpointval(), barel2d::intpointval(), Lhex, Lhexrot, linearhex, linearhexrot, lineartet, lineartetrot, Ltet, Ltetrot, Mt, Pelq, Pelt, Peqq, planeelementlq, planeelementlt, planeelementqq, print_err(), Qhex, Qtet, quadrhex, quadrtet, Spring, spring_1, spring_2, spring_3, spring_4, spring_5, and spring_6.
Referenced by intpointval(), and trfel_mefel_by_nodes().
function interpolates nodal values into integration points using lower order approximation
Function interpolates nodal values into integration points. Order of the used approximation functions is one degree less then on the given element.
eid | - element id | |
nodval | - vector containing values at corner nodes | |
ipval | - vector of integration point values (output) |
Created by Tomas Koudelka, 10.12.2013
Definition at line 1980 of file elemswitch.cpp.
References Asymqq, axisymmqq, Bar2d, bar2d, Barq2d, barq2d, Barq3d, barq3d, mechtop::give_elem_type(), springel::intpointval(), barel2d::intpointval(), quadhex::intpointval2(), quadtet::intpointval2(), axisymqq::intpointval2(), planeelemqq::intpointval2(), barelq3d::intpointval2(), barelq2d::intpointval2(), Mt, Peqq, planeelementqq, print_err(), Qhex, Qtet, quadrhex, quadrtet, Spring, spring_1, spring_2, spring_3, spring_4, spring_5, and spring_6.
Referenced by intpointval2(), and trfel_mefel_by_nodes().
void elem_local_values | ( | long | i, | |
long | lcid | |||
) |
function computes local values for consecutive averaging
The function computes local values which will be averaged for nonlocal material models at one finite element.
i | - element id | |
lcid | - load case id |
Created by Tomas Koudelka, 7.2008
Definition at line 2609 of file elemswitch.cpp.
References Asymlq, Asymlt, Asymqq, axisymmlq, axisymmlt, axisymmqq, Bar2d, bar2d, Bar3d, bar3d, Barq2d, barq2d, Barq3d, barq3d, beam2d, beam3d, Cct, cctel, mechtop::give_elem_type(), Lhex, Lhexrot, linearhex, linearhexrot, lineartet, lineartetrot, linhexrot::local_values(), lintetrot::local_values(), quadhex::local_values(), linhex::local_values(), quadtet::local_values(), lintet::local_values(), axisymqq::local_values(), axisymlq::local_values(), axisymlt::local_values(), soilplateq::local_values(), q4plate::local_values(), cctelem::local_values(), planeelemsubqt::local_values(), planeelemrotlq::local_values(), planeelemqq::local_values(), planeelemlq::local_values(), planeelemrotlt::local_values(), planeelemqt::local_values(), planeelemlt::local_values(), barelq3d::local_values(), barelq2d::local_values(), barel3d::local_values(), barel2d::local_values(), Ltet, Ltetrot, Mt, particleelem, Pelq, Pelt, Peqq, Peqt, Perlq, Perlt, Pesqt, planeelementlq, planeelementlt, planeelementqq, planeelementqt, planeelementrotlq, planeelementrotlt, planeelementsubqt, planequadcontact, print_err(), Q4pl, q4plateel, Qhex, Qtet, quadrhex, quadrtet, Splq, spring_1, spring_2, spring_3, spring_4, spring_5, spring_6, subsoilbeam, and subsoilplateq.
Referenced by nonloc_internal_forces().
void elem_mechq_nodval | ( | long | eid, | |
vector & | nodval, | |||
nontransquant | qt | |||
) |
function determines mechanical quantities at nodes on one element, they are used by TRFEL in coupled problems
The function returns non-transport=mechanical quantities at element nodes. Nodal values are copied from the closest integration point on element. It is used for passing required mechanical quantities by TRFEL in coupled problems.
eid | - element id | |
nodval | - vector of nodal values | |
qt | - type of mechanical quantity |
Created 12/06/2012 TKr Modified by Tomas Koudelka 9.10.2013
Definition at line 3705 of file elemswitch.cpp.
References Bar2d, bar2d, mechtop::give_elem_type(), planeelemlq::mechq_nodval(), barel2d::mechq_nodval(), Mt, Pelq, planeelementlq, and print_err().
Referenced by mefel_trfel().
void elem_mechq_nodval_comp | ( | long | eid, | |
vector & | nodval, | |||
long | ncne, | |||
long | nq, | |||
nontransquant * | qt | |||
) |
function computes mechanical quantities in nodes on one element, they are used by TRFEL in coupled problems
The function returns non-transport=mechanical quantities from element nodes. Nodal values are computed directly at nodes according to strains. It is used for passing required mechanical quantities by TRFEL in coupled problems.
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*nne+j] where nne is the number of nodes on eid-th element. | |
ncne | - number of computed nodes on element (only first ncne of nodes is calculated) | |
nq | - number of required mechanical quantities | |
qt | - array of types of required mechanical quantities |
Created 12/06/2012 TKr Modified by Tomas Koudelka 9.10.2013
Definition at line 3746 of file elemswitch.cpp.
References Bar2d, bar2d, mechtop::give_elem_type(), planeelemlq::mechq_nodval_comp(), barel2d::mechq_nodval_comp(), Mt, Pelq, planeelementlq, and print_err().
Referenced by mefel_trfel_by_nodes().
void elem_nlstresses | ( | long | i, | |
long | lcid | |||
) |
function computes stresses
The function computes stresses at one finite element.
i | - element id | |
lcid | - load case id |
Created by Tomas Koudelka, 10.6.2013
Definition at line 2461 of file elemswitch.cpp.
References Asymlq, Asymlt, Asymqq, axisymmlq, axisymmlt, axisymmqq, Bar2d, bar2d, Bar3d, bar3d, Barq2d, barq2d, Barq3d, barq3d, beam2d, beam3d, Cct, cctel, linhexrot::compute_nlstress(), lintetrot::compute_nlstress(), quadhex::compute_nlstress(), linhex::compute_nlstress(), quadtet::compute_nlstress(), lintet::compute_nlstress(), axisymqq::compute_nlstress(), axisymlq::compute_nlstress(), axisymlt::compute_nlstress(), soilplateq::compute_nlstress(), q4plate::compute_nlstress(), cctelem::compute_nlstress(), planeelemsubqt::compute_nlstress(), planeelemrotlq::compute_nlstress(), planeelemqq::compute_nlstress(), planeelemlq::compute_nlstress(), planeelemrotlt::compute_nlstress(), planeelemqt::compute_nlstress(), planeelemlt::compute_nlstress(), barelq3d::compute_nlstress(), barelq2d::compute_nlstress(), barel3d::compute_nlstress(), barel2d::compute_nlstress(), mechtop::give_elem_type(), Lhex, Lhexrot, linearhex, linearhexrot, lineartet, lineartetrot, Ltet, Ltetrot, Mt, particleelem, Pelq, Pelt, Peqq, Peqt, Perlq, Perlt, Pesqt, planeelementlq, planeelementlt, planeelementqq, planeelementqt, planeelementrotlq, planeelementrotlt, planeelementsubqt, planequadcontact, print_err(), Q4pl, q4plateel, Qhex, Qtet, quadrhex, quadrtet, Splq, spring_1, spring_2, spring_3, spring_4, spring_5, spring_6, subsoilbeam, and subsoilplateq.
void elem_nonloc_internal_forces | ( | long | i, | |
long | lcid, | |||
vector & | ifor | |||
) |
function computes contributions to internal forces from one element nonlocally
The function computes contributions to internal forces from one finite element. Contributions are evaluated nonlocally.
i | - element id | |
lcid | - load case id | |
ifor | - vector of internal forces on one element (output) |
Created by JK, 3.11.2006
Definition at line 2758 of file elemswitch.cpp.
References Asymlq, Asymlt, Asymqq, axisymmlq, axisymmlt, axisymmqq, Bar2d, bar2d, Bar3d, bar3d, Barq2d, barq2d, Barq3d, barq3d, Beam2d, beam2d, Beam3d, beam3d, Cct, cctel, mechtop::give_elem_type(), Lhex, Lhexrot, linearhex, linearhexrot, lineartet, lineartetrot, Ltet, Ltetrot, Mt, particleelem, Pelq, Pelt, Peqq, Peqt, Perlq, Perlt, Pesqt, planeelementlq, planeelementlt, planeelementqq, planeelementqt, planeelementrotlq, planeelementrotlt, planeelementsubqt, planequadcontact, Pqcon, print_err(), Q4pl, q4plateel, Qhex, Qtet, quadrhex, quadrtet, plquadcontact::res_internal_forces(), springel::res_internal_forces(), soilbeam::res_internal_forces(), beamel3d::res_internal_forces(), beamel2d::res_internal_forces(), linhexrot::res_nonloc_internal_forces(), lintetrot::res_nonloc_internal_forces(), quadhex::res_nonloc_internal_forces(), linhex::res_nonloc_internal_forces(), quadtet::res_nonloc_internal_forces(), lintet::res_nonloc_internal_forces(), axisymqq::res_nonloc_internal_forces(), axisymlq::res_nonloc_internal_forces(), axisymlt::res_nonloc_internal_forces(), soilplateq::res_nonloc_internal_forces(), q4plate::res_nonloc_internal_forces(), cctelem::res_nonloc_internal_forces(), planeelemsubqt::res_nonloc_internal_forces(), planeelemrotlq::res_nonloc_internal_forces(), planeelemqq::res_nonloc_internal_forces(), planeelemlq::res_nonloc_internal_forces(), planeelemrotlt::res_nonloc_internal_forces(), planeelemqt::res_nonloc_internal_forces(), planeelemlt::res_nonloc_internal_forces(), barelq3d::res_nonloc_internal_forces(), barelq2d::res_nonloc_internal_forces(), barel3d::res_nonloc_internal_forces(), barel2d::res_nonloc_internal_forces(), Sbeam, Splq, Spring, spring_1, spring_2, spring_3, spring_4, spring_5, spring_6, subsoilbeam, and subsoilplateq.
Referenced by nonloc_internal_forces().
void find_extreme_ipstresses | ( | long | lcid | ) |
The function searches the minimum and maximum stresses in integration points.
lcid | - load case id |
Created by JK, 16. 11. 2012
Definition at line 971 of file elemswitch.cpp.
References allocv(), Bar2d, bar3d, Bar3d, destrv(), fillv(), linhex::find_extreme_stresses(), barel3d::find_extreme_stresses(), mechtop::give_elem_type(), Gtm, gtopology::leso, Lhex, linearhex, Mt, mechtop::ne, print_err(), linhex::tncomp, barel3d::tncomp, and barel2d::tncomp.
void initstiffmat | ( | long | lcid, | |
long | eid, | |||
matrix & | sm | |||
) |
function computes intial stiffness matrix of required element
The function computes initial stiffness matrix of required element.
lcid | - load case id | |
eid | - element id | |
sm | - initial stiffness matrix of the element (output) |
Created by JK,
Definition at line 3581 of file elemswitch.cpp.
References Beam2d, beam2d, mechtop::give_elem_type(), beamel2d::initstr_matrix_expl(), Mt, and print_err().
Referenced by initial_stiffness_matrix().
double interpolate | ( | long | eid, | |
double * | nodval, | |||
double * | coord | |||
) |
function interpolates arbitrary nodal quantity to the required inner point
The function interpolates arbitrary quantity defined by its nodal values to required inner point.
eid | - element id | |
nodval | - array containing nodal values | |
coord | - array containing coordinates |
Created by JK, 23.2.2002
Definition at line 2059 of file elemswitch.cpp.
References allocv(), quadhex::approx(), linhex::approx(), quadtet::approx(), lintet::approx(), planeelemrotlq::approx(), planeelemqq::approx(), planeelemlq::approx(), planeelemrotlt::approx(), planeelemqt::approx(), planeelemlt::approx(), destrv(), mechtop::give_elem_type(), mechtop::give_nne(), Lhex, linearhex, lineartet, Ltet, Mt, Pelq, Pelt, Peqq, Peqt, Perlq, Perlt, planeelementlq, planeelementlt, planeelementqq, planeelementqt, planeelementrotlq, planeelementrotlt, print_err(), Qhex, Qtet, quadrhex, and quadrtet.
void intpointval | ( | double * | gv, | |
nonmechquant | nmq, | |||
double | scale | |||
) |
function interpolates nodal values into integration points
The function interpolates nodal values into integration points.
gv | - array containing values at all nodes of the mesh | |
nmq | - type of non-mechanical quantity | |
scale | - scale coefficient |
Created by JK, 21.6.2004, extended by TKr 31/08/2012
Definition at line 1882 of file elemswitch.cpp.
References elem_intpointval(), mechtop::elements, mechtop::give_elemnodes(), mechtop::give_nne(), mechtop::give_tnip(), Gtm, element::ipp, gtopology::leso, Mm, Mt, mechtop::ne, nodes, nodval(), reallocv(), and mechmat::storenonmechq().
Referenced by approximation_humid(), approximation_inittemper(), approximation_temper(), init_trfel_mefel(), loadcase::tempercontrib(), and trfel_mefel().
void intpointval2 | ( | double * | gv, | |
nonmechquant | nmq | |||
) |
function interpolates nodal values into integration points using lower order approximation
Function interpolates nodal values into integration points. Order of the used approximation functions is one degree less then on the given element.
gv | - array containing values at all nodes of the mesh | |
nmq | - type of non-mechanical quantity |
Created by 21.6.2004, JK, extended by TKr 31/08/2012
Definition at line 1931 of file elemswitch.cpp.
References elem_intpointval2(), mechtop::elements, mechtop::give_elemnodes(), mechtop::give_nne(), mechtop::give_tnip(), Gtm, element::ipp, gtopology::leso, Mm, Mt, mechtop::ne, nodes, nodval(), reallocv(), and mechmat::storenonmechq().
Referenced by approximation_humid(), approximation_inittemper(), approximation_temper(), init_trfel_mefel(), and trfel_mefel().
void ipvolume | ( | ) |
function computes volume appropriate to integration points
The function computes volume appropriate to integration points.
Created by JK, 2.3.2004
Definition at line 2136 of file elemswitch.cpp.
References bar2d, bar3d, mechtop::give_elem_type(), Gtm, mechmat::ipv, linhexrot::ipvolume(), lintetrot::ipvolume(), quadhex::ipvolume(), linhex::ipvolume(), quadtet::ipvolume(), lintet::ipvolume(), planeelemrotlq::ipvolume(), planeelemqq::ipvolume(), planeelemlq::ipvolume(), planeelemrotlt::ipvolume(), planeelemqt::ipvolume(), planeelemlt::ipvolume(), gtopology::leso, Lhex, Lhexrot, linearhex, linearhexrot, lineartet, lineartetrot, Ltet, Ltetrot, Mm, Mt, mechtop::ne, Pelq, Pelt, Peqq, Peqt, Perlq, Perlt, planeelementlq, planeelementlt, planeelementqq, planeelementqt, planeelementrotlq, planeelementrotlt, print_err(), Qhex, Qtet, quadrhex, quadrtet, and mechmat::tnip.
Referenced by mefel_init(), metr_init(), pmefel_init(), and pmetr_init().
void loadmat | ( | long | eid, | |
matrix & | lm | |||
) |
function computes load matrix of required element
The function computes load matrix of required element.
eid | - element id | |
sm | - load matrix of the element |
Created by JK, 12.10.2008
Definition at line 3613 of file elemswitch.cpp.
References Asymlq, Asymlt, Asymqq, axisymmlq, axisymmlt, axisymmqq, Bar2d, bar2d, Beam3d, beam3d, Cct, cctel, mechtop::give_elem_type(), Lhex, linearhex, lineartet, quadhex::load_matrix(), linhex::load_matrix(), quadtet::load_matrix(), lintet::load_matrix(), axisymqq::load_matrix(), axisymlq::load_matrix(), axisymlt::load_matrix(), q4plate::load_matrix(), cctelem::load_matrix(), planeelemrotlt::load_matrix(), planeelemqt::load_matrix(), beamel3d::load_matrix(), Ltet, Mt, Pelq, Pelt, Peqq, Peqt, Perlt, planeelementlq, planeelementlt, planeelementqq, planeelementqt, planeelementrotlt, print_err(), Q4pl, q4plateel, Qhex, Qtet, quadrhex, quadrtet, planeelemqq::res_load_matrix(), planeelemlq::res_load_matrix(), planeelemlt::res_load_matrix(), and barel2d::res_load_matrix().
Referenced by loadel::volumeload().
void massmat | ( | long | lcid, | |
long | eid, | |||
matrix & | mm | |||
) |
function computes mass matrix of required element
The function computes mass matrix of required element.
lcid | - load case id | |
eid | - element id | |
mm | - mass matrix of the element (output) |
Created by JK,
Definition at line 3451 of file elemswitch.cpp.
References Asymlq, Asymlt, Asymqq, axisymmlq, axisymmlt, axisymmqq, Bar2d, bar2d, Bar3d, bar3d, Beam2d, beam2d, Beam3d, beam3d, Cct, cctel, mechtop::give_elem_type(), Lhex, Lhexrot, linearhex, linearhexrot, lineartet, lineartetrot, Ltet, Ltetrot, linhexrot::mass_matrix(), lintetrot::mass_matrix(), quadhex::mass_matrix(), linhex::mass_matrix(), quadtet::mass_matrix(), lintet::mass_matrix(), axisymqq::mass_matrix(), axisymlq::mass_matrix(), axisymlt::mass_matrix(), planeelemqt::mass_matrix(), barel2d::mass_matrix(), Mt, Pelq, Pelt, Peqq, Peqt, Perlq, Perlt, Pesqt, planeelementlq, planeelementlt, planeelementqq, planeelementqt, planeelementrotlq, planeelementrotlt, planeelementsubqt, print_err(), Qhex, Qtet, quadrhex, quadrtet, cctelem::res_mass_matrix(), planeelemsubqt::res_mass_matrix(), planeelemrotlq::res_mass_matrix(), planeelemqq::res_mass_matrix(), planeelemlq::res_mass_matrix(), planeelemrotlt::res_mass_matrix(), planeelemlt::res_mass_matrix(), beamel3d::res_mass_matrix(), barel3d::res_mass_matrix(), beamel2d::res_mass_matrix(), spring_1, spring_2, spring_3, spring_4, spring_5, and spring_6.
Referenced by mass_matrix().
void nodestrains_comp | ( | long | lcid | ) |
function computes strains directly at nodes
Function computes strains at element nodes directly and nodal strains are averaged. In case of bar and beam elements be carefull if averaging is reasonable. The function is intended for transfer of mechanical quantities in coupled problems.
lcid | - load case id |
Created by Tomas Koudelka, 14.11.2013
Definition at line 456 of file elemswitch.cpp.
References axisymmlq, axisymmlt, axisymmqq, Bar2d, bar2d, bar3d, barq2d, barq3d, mechtop::give_elem_type(), Gtm, gtopology::leso, linearhex, lineartet, gtopology::lnso, Mt, mechtop::ne, mechtop::nn, barel2d::nod_strains_comp(), mechtop::nodes, node::nullstrain(), planeelementlq, planeelementlt, planeelementqq, planeelementqt, print_err(), quadrhex, quadrtet, spring_1, spring_2, spring_3, spring_4, spring_5, spring_6, and node::strain_averageval().
void stiffmat | ( | long | lcid, | |
long | eid, | |||
matrix & | sm | |||
) |
function computes stiffness matrix of required element
The function computes stiffness matrix of required element.
lcid | - load case id | |
eid | - element id | |
sm | - stiffness matrix of the element (output) |
Created by JK,
Definition at line 3241 of file elemswitch.cpp.
References Argtrpl, argyristr, Asymlq, Asymlt, Asymqq, axisymmlq, axisymmlt, axisymmqq, Bar2d, bar2d, Bar3d, bar3d, Barq2d, barq2d, Barq3d, barq3d, Beam2d, beam2d, Beam3d, beam3d, Beam3dg, beamg3d, Cct, cctel, Dkt, dktel, Dst, dstel, mechtop::give_elem_type(), Lhex, Lhexrot, linearhex, linearhexrot, lineartet, lineartetrot, linearwed, Ltet, Ltetrot, Lwed, Mt, particleelem, Pelem, Pelq, Pelt, Peqq, Peqt, Perlq, Perlt, Pesqt, planeelementlq, planeelementlt, planeelementqq, planeelementqt, planeelementrotlq, planeelementrotlt, planeelementsubqt, planequadcontact, Pqcon, print_err(), Q4pl, q4plateel, Qhex, Qtet, quadrhex, quadrtet, quadrwed, Qwed, elemparticle::res_stiffness_matrix(), quadwedge::res_stiffness_matrix(), linwedge::res_stiffness_matrix(), linhexrot::res_stiffness_matrix(), lintetrot::res_stiffness_matrix(), quadhex::res_stiffness_matrix(), linhex::res_stiffness_matrix(), quadtet::res_stiffness_matrix(), lintet::res_stiffness_matrix(), shellq::res_stiffness_matrix(), shelltr::res_stiffness_matrix(), axisymqq::res_stiffness_matrix(), axisymlq::res_stiffness_matrix(), axisymlt::res_stiffness_matrix(), soilplateq::res_stiffness_matrix(), soilplatetr::res_stiffness_matrix(), argyrisplate::res_stiffness_matrix(), q4plate::res_stiffness_matrix(), dstelem::res_stiffness_matrix(), dktelem::res_stiffness_matrix(), cctelem::res_stiffness_matrix(), plquadcontact::res_stiffness_matrix(), planeelemsubqt::res_stiffness_matrix(), planeelemrotlq::res_stiffness_matrix(), planeelemqq::res_stiffness_matrix(), planeelemlq::res_stiffness_matrix(), planeelemrotlt::res_stiffness_matrix(), planeelemqt::res_stiffness_matrix(), planeelemlt::res_stiffness_matrix(), springel::res_stiffness_matrix(), soilbeam::res_stiffness_matrix(), beamgen3d::res_stiffness_matrix(), beamel3d::res_stiffness_matrix(), beamel2d::res_stiffness_matrix(), barelq3d::res_stiffness_matrix(), barelq2d::res_stiffness_matrix(), barel3d::res_stiffness_matrix(), barel2d::res_stiffness_matrix(), Sbeam, shellqelem, shelltrelem, Shq, Shtr, Splq, Spltr, Spring, spring_1, spring_2, spring_3, spring_4, spring_5, spring_6, subsoilbeam, subsoilplateq, and subsoilplatetr.
Referenced by loadcase::assemble(), dloadcase::assemble(), stiffness_matrix(), and zero_order_matrix().