#include <mechcrsec.h>
Public Member Functions | |
void | give_area (long ipp, double &a) |
void | give_density (long eid, ivector &nodes, vector &dens) |
void | give_densitye (long eid, double &rho) |
void | give_densityn (ivector &nod, vector &rho) |
double * | give_layer_thicke (long eid) |
double * | give_layer_zcoord (long eid) |
void | give_mominer (long ipp, double *i) |
long | give_num_lay (long eid) |
double | give_onethickness (crsectype crst, long idcs) |
void | give_shearcoeff (long ipp, double *shearcoeff) |
void | give_thicke (long eid, double &t) |
void | give_thickn (ivector &nod, vector &t) |
void | give_thickness (long eid, ivector &nodes, vector &th) |
void | give_vectorlcs (long eid, vector &vec) |
double | give_weight (crsectype cr, long idcs) |
mechcrsec () | |
void | print (FILE *out) |
void | printcrschar (FILE *out, crsectype ct, long numinst) |
void | read (XFILE *in) |
void | readcrsectype (XFILE *in, crsectype cstype, long numtype) |
~mechcrsec () | |
Public Attributes | |
crsec2dbar * | cs2dbar |
cross section of 2D bar elements | |
crsec2dbeam * | cs2dbeam |
cross section of 2D beam elements | |
crsec3d * | cs3d |
cross section for 3D problems | |
crsec3dbeam * | cs3dbeam |
cross section of 3D beam elements | |
crseclayer * | cslay |
cross section for layered plate problems | |
crsecnod * | csnod |
crsecplstr * | csplstr |
cross section for plane stress and plate problems | |
crsectype * | cstype |
type of cross sections | |
long | ncst |
number of cross section types | |
long * | numtype |
number of instances of particular cross sections |
Class mechcrsec:
It is one of the 5 most important classes of the program. (probdesc, mechtop, mechmat, mechbclc, mechcrsec)
Class mechcrsec contains data about cross sections.
Created by JK, TKo
Definition at line 28 of file mechcrsec.h.
mechcrsec | ( | ) |
~mechcrsec | ( | ) |
void give_area | ( | long | eid, | |
double & | a | |||
) |
Function returns area of cross-section.
eid | - element id | |
a | - cross-sectio area of the element (output) |
Created by JK, 10.8.2001
Definition at line 471 of file mechcrsec.cpp.
References crsec3dbeam::a, crsec2dbeam::a, crsec2dbar::a, element::crst, cs2dbar, cs2dbeam, cs3dbeam, csbar2d, csbeam2d, csbeam3d, mechtop::elements, element::idcs, Mt, nocrosssection, and print_err().
Referenced by barelq3d::elem_integration(), barelq2d::elem_integration(), barel3d::elem_integration(), barel2d::elem_integration(), beamel3d::initstr_matrix(), beamel2d::initstr_matrix(), beamel2d::initstr_matrix_expl(), soilbeam::internal_forces(), beamgen3d::internal_forces(), beamel3d::internal_forces(), soilbeam::internal_forces1(), beamgen3d::internal_forces1(), barel3d::ipvolume(), barel2d::ipvolume(), beamgen3d::load_matrix(), beamel3d::load_matrix(), barel2d::load_matrix(), barelc::lower_cap_coup_matrix(), barelc::lower_cond_coup_matrix(), beamel3d::mass_matrix(), beamel2d::mass_matrix(), barel3d::mass_matrix(), barel2d::mass_matrix(), beamel2d::mass_matrix_expl(), beam2dspec::mass_matrix_expl(), beamel2d::nodeforces(), soilbeam::stiffness_matrix(), beamgen3d::stiffness_matrix(), beamel3d::stiffness_matrix(), beamel2d::stiffness_matrix(), barelq3d::stiffness_matrix(), barelq2d::stiffness_matrix(), barel3d::stiffness_matrix(), barel2d::stiffness_matrix(), beamel2d::stiffness_matrix_expl(), beamel2d::stiffness_matrix_expl_local(), beamel3d::stiffness_matrix_local(), beamel3d::stiffness_matrix_local2(), barelc::upper_cap_coup_matrix(), barelc::upper_cond_coup_matrix(), barelc::upper_cond_coup_vector(), barelc::upper_internal_forces(), and barelc::volume_rhs_vector().
Function returns density on element.
eid | - element id | |
nodes | - vector containing numbers of nodes defining element | |
dens | - vector of densities in the given nodes (output) |
Created by JK 10.8.2001
Definition at line 690 of file mechcrsec.cpp.
References element::crst, mechtop::elements, give_densitye(), give_densityn(), mechtop::give_nne(), and Mt.
Referenced by quadtet::mass_matrix(), quadhex::mass_matrix(), planeelemsubqt::mass_matrix(), planeelemrotlt::mass_matrix(), planeelemrotlq::mass_matrix(), planeelemqt::mass_matrix(), planeelemqq::mass_matrix(), planeelemlt::mass_matrix(), planeelemlq::mass_matrix(), lintetrot::mass_matrix(), lintet::mass_matrix(), linhexrot::mass_matrix(), linhex::mass_matrix(), cctelem::mass_matrix(), axisymqq::mass_matrix(), axisymlt::mass_matrix(), axisymlq::mass_matrix(), and ArgyrisTriangle::mass_matrix().
void give_densitye | ( | long | eid, | |
double & | rho | |||
) |
Function returns density on element.
eid | - element id | |
rho | - density (output) |
Created by JK 10.8.2001
Definition at line 649 of file mechcrsec.cpp.
References element::crst, cs2dbar, cs2dbeam, cs3d, cs3dbeam, cs3dprob, csbar2d, csbeam2d, csbeam3d, mechtop::elements, element::idcs, Mt, nocrosssection, print_err(), crsec3d::rho, crsec3dbeam::rho, crsec2dbeam::rho, and crsec2dbar::rho.
Referenced by give_density(), beamel3d::mass_matrix(), beamel2d::mass_matrix(), barel3d::mass_matrix(), barel2d::mass_matrix(), beamel2d::mass_matrix_expl(), and beam2dspec::mass_matrix_expl().
Fnction returns densities in nodes.
nod | - vector containing numbers of nodes defining element | |
rho | - array containing densities (output) |
Created by JK, 22.7.2001
Definition at line 600 of file mechcrsec.cpp.
References node::crst, cs3d, cs3dprob, csbar2d, csbeam2d, csbeam3d, cslay, cslayer, csplanestr, csplstr, node::idcs, Mt, ivector::n, nocrosssection, mechtop::nodes, print_err(), crseclayer::rho, crsec3d::rho, and crsecplstr::rho.
Referenced by give_density().
double * give_layer_thicke | ( | long | eid | ) |
Function returns array of layer thicknesses on element.
eid | - element id | |
*t | - thickness (output) |
J.Fiedler, 10/2014
Definition at line 767 of file mechcrsec.cpp.
References element::crst, cslay, cslayer, mechtop::elements, element::idcs, crseclayer::layth, Mt, and print_err().
Referenced by layplate::matstiff(), and layplate::nlstresses().
double * give_layer_zcoord | ( | long | eid | ) |
Function returns array of layer z-coordinates on element.
eid | - element id | |
*z | - z-coordinates (output) |
J.Fiedler, 10/2014
Definition at line 793 of file mechcrsec.cpp.
References element::crst, cslay, cslayer, mechtop::elements, element::idcs, crseclayer::layz, Mt, and print_err().
Referenced by layplate::matstiff(), and layplate::nlstresses().
void give_mominer | ( | long | eid, | |
double * | i | |||
) |
Function returns moment(s) of inertia of cross-section.
eid | - element id | |
i | - array containing moments of inertia (output) |
Created by JK, 10.8.2001
Definition at line 507 of file mechcrsec.cpp.
References element::crst, cs2dbeam, cs3dbeam, csbeam2d, csbeam3d, mechtop::elements, crsec3dbeam::give_moments(), crsec2dbeam::give_moments(), element::idcs, Mt, nocrosssection, and print_err().
Referenced by beamel3d::initstr_matrix(), beamel2d::initstr_matrix(), beamel2d::initstr_matrix_expl(), soilbeam::internal_forces(), beamgen3d::internal_forces(), beamel3d::internal_forces(), soilbeam::internal_forces1(), beamgen3d::internal_forces1(), beamgen3d::load_matrix(), beamel3d::load_matrix(), beamel2d::mass_matrix(), beamel2d::mass_matrix_expl(), beam2dspec::mass_matrix_expl(), beamel2d::nodeforces(), soilbeam::stiffness_matrix(), beamgen3d::stiffness_matrix(), beamel3d::stiffness_matrix(), beamel2d::stiffness_matrix(), beamel2d::stiffness_matrix_expl(), beamel2d::stiffness_matrix_expl_local(), beamel3d::stiffness_matrix_local(), and beamel3d::stiffness_matrix_local2().
long give_num_lay | ( | long | eid | ) |
Function returns number of layers on element.
eid | - element id |
J.Fiedler, 10/2014
Definition at line 818 of file mechcrsec.cpp.
References element::crst, cslay, cslayer, mechtop::elements, element::idcs, Mt, crseclayer::nl, and print_err().
double give_onethickness | ( | crsectype | crst, | |
long | idcs | |||
) |
Function returns thickness of the given crossection type and id.
crst | - cross-section type | |
idcst | - cross-sectio type id |
Created by JK, 22.7.2001
Definition at line 421 of file mechcrsec.cpp.
References cs2dbeam, csbar2d, csbeam2d, csbeam3d, cslay, cslayer, csnod, csnodal, csplanestr, csplstr, nocrosssection, print_err(), crsecnod::t, crsecplstr::t, crsec2dbeam::t, and crseclayer::th.
Referenced by constr_matrix(), par_solve_layered_linear_statics(), and par_solve_linear_statics().
void give_shearcoeff | ( | long | eid, | |
double * | shearcoeff | |||
) |
Function returns shear coefficient(s) of cross-section The shear coefficient for rectangle is 5/6.
eid | - element id | |
shearcoeff | - array containing shear coefficients (output) |
Created by JK, 10.8.2001
Definition at line 541 of file mechcrsec.cpp.
References element::crst, cs2dbeam, cs3dbeam, csbeam2d, csbeam3d, mechtop::elements, crsec3dbeam::give_shearcoeff(), crsec2dbeam::give_shearcoeff(), element::idcs, Mt, nocrosssection, and print_err().
Referenced by beamel3d::initstr_matrix(), beamel2d::initstr_matrix(), beamel2d::initstr_matrix_expl(), soilbeam::internal_forces(), beamgen3d::internal_forces(), beamel3d::internal_forces(), soilbeam::internal_forces1(), beamgen3d::internal_forces1(), beamgen3d::load_matrix(), beamel3d::load_matrix(), beamel3d::mass_matrix(), beamel2d::mass_matrix(), beamel2d::mass_matrix_expl(), beam2dspec::mass_matrix_expl(), soilbeam::stiffness_matrix(), beamgen3d::stiffness_matrix(), beamel3d::stiffness_matrix(), beamel2d::stiffness_matrix(), beamel2d::stiffness_matrix_expl(), beamel2d::stiffness_matrix_expl_local(), beamel3d::stiffness_matrix_local(), and beamel3d::stiffness_matrix_local2().
void give_thicke | ( | long | eid, | |
double & | t | |||
) |
Function returns thickness on element.
eid | - element id | |
t | - thickness (output) |
Created by JK, 22.7.2001
Definition at line 351 of file mechcrsec.cpp.
References element::crst, csbar2d, csbeam2d, csbeam3d, cslay, cslayer, csplanestr, csplstr, mechtop::elements, element::idcs, Mt, nocrosssection, print_err(), crsecplstr::t, and crseclayer::th.
Referenced by give_thickness().
Function returns thicknesses in nodes.
nod | - vector containing numbers of nodes defining element | |
t | - array containing thicknesses (output) |
Created by JK, 22.7.2001
Definition at line 306 of file mechcrsec.cpp.
References node::crst, csbar2d, csbeam2d, csbeam3d, cslay, cslayer, csplanestr, csplstr, node::idcs, Mt, ivector::n, nocrosssection, mechtop::nodes, print_err(), crsecplstr::t, and crseclayer::th.
Referenced by give_thickness().
Function returns thickness on element.
eid | - element id | |
nodes | - vector of node numbers of the given element | |
th | - vector of thicknesses at nodes (output) |
Created by JK, 22.7.2001
Definition at line 392 of file mechcrsec.cpp.
References element::crst, mechtop::elements, mechtop::give_nne(), give_thicke(), give_thickn(), and Mt.
Referenced by planeelemqt::compute_error(), planeelemqq::compute_error(), planeelemlt::compute_error(), planeelemlq::compute_error(), q4plate::compute_nlstress(), dstelem::compute_nlstress(), dktelem::compute_nlstress(), cctelem::compute_nlstress(), ArgyrisTriangle::compute_nlstress(), soilplatetr::elem_integration(), q4plate::elem_integration(), plquadcontact::elem_integration(), planeelemsubqt::elem_integration(), planeelemrotlt::elem_integration(), planeelemrotlq::elem_integration(), planeelemqt::elem_integration(), planeelemqq::elem_integration(), planeelemlt::elem_integration(), planeelemlq::elem_integration(), dstelem::elem_integration(), dktelem::elem_integration(), dstelem::geom_matrix_shear(), planeelemlq::gl_stiffness_matrix(), planeelemlq::gnl_internal_forces(), planeelemlq::gnl_stiffness_matrix(), q4plate::initstr_matrix(), planeelemrotlt::ipvolume(), planeelemrotlq::ipvolume(), planeelemqt::ipvolume(), planeelemqq::ipvolume(), planeelemlt::ipvolume(), planeelemlq::ipvolume(), q4plate::load_matrix(), planeelemsubqt::load_matrix(), planeelemrotlt::load_matrix(), planeelemrotlq::load_matrix(), planeelemqt::load_matrix(), planeelemqq::load_matrix(), planeelemlt::load_matrix(), planeelemlq::load_matrix(), cctelem::load_matrix(), ArgyrisTriangle::load_matrix(), planeelemsubqt::mass_matrix(), planeelemrotlt::mass_matrix(), planeelemrotlq::mass_matrix(), planeelemqt::mass_matrix(), planeelemqq::mass_matrix(), planeelemlt::mass_matrix(), planeelemlq::mass_matrix(), cctelem::mass_matrix(), ArgyrisTriangle::mass_matrix(), planeelemqt::ntdbr_vector(), planeelemqq::ntdbr_vector(), planeelemlt::ntdbr_vector(), planeelemlq::ntdbr_vector(), planeelemqt::ntn_matrix(), planeelemqq::ntn_matrix(), planeelemlt::ntn_matrix(), planeelemlq::ntn_matrix(), soilplatetr::stiffness_matrix(), q4plate::stiffness_matrix(), plquadcontact::stiffness_matrix(), planeelemsubqt::stiffness_matrix(), planeelemrotlt::stiffness_matrix(), planeelemrotlq::stiffness_matrix(), planeelemqt::stiffness_matrix(), planeelemqq::stiffness_matrix(), planeelemlt::stiffness_matrix(), dstelem::stiffness_matrix(), dktelem::stiffness_matrix(), cctelem::stiffness_matrix(), ArgyrisTriangle::stiffness_matrix(), argyrisplate::stiffness_matrix(), and dstelem::tran_matrix().
void give_vectorlcs | ( | long | eid, | |
vector & | vec | |||
) |
Function returns shear vector axis [z] cross-section. Shear coefficient for rectangle is 5/6.
eid | - element id | |
vec | - shear vector (output) |
Created by JK, 10.8.2001
Definition at line 575 of file mechcrsec.cpp.
References copyv(), element::crst, cs3dbeam, csbeam3d, mechtop::elements, element::idcs, crsec3dbeam::lcs, Mt, and print_err().
Referenced by soilbeam::internal_forces(), beamgen3d::internal_forces(), beamel3d::internal_forces(), soilbeam::internal_forces1(), beamgen3d::internal_forces1(), beamgen3d::load_matrix(), beamel3d::load_matrix(), beamel3d::mass_matrix(), beamgen3d::nodal_displ(), beamel3d::nodal_displ(), beamgen3d::nodal_forces(), beamel3d::nodal_forces(), soilbeam::stiffness_matrix(), beamgen3d::stiffness_matrix(), beamel3d::stiffness_matrix(), beamel3d::stiffness_matrix_local(), beamel3d::stiffness_matrix_local2(), and soilbeam::strains().
double give_weight | ( | crsectype | cr, | |
long | idcs | |||
) |
Function returns weight of concentrated mass
cr | - type of cross section | |
idcs | - number of cross section |
Created by JK, 25.7.2005
Definition at line 720 of file mechcrsec.cpp.
References csbar2d, csbeam2d, csbeam3d, cslay, cslayer, csnod, csnodal, csplanestr, csplstr, crseclayer::m, crsecnod::m, crsecplstr::m, nocrosssection, and print_err().
void print | ( | FILE * | out | ) |
Function prints cross section characteristics.
out | - pointer to the opened text FILE |
Created by TKr, 02/03/2013 Modified by TKo, 1.7.2014
Definition at line 221 of file mechcrsec.cpp.
References cstype, ncst, numtype, and printcrschar().
void printcrschar | ( | FILE * | out, | |
crsectype | ct, | |||
long | numinst | |||
) |
Function prints cross section characteristics for the given cross section type and index.
out | - pointer to the opened text FILE | |
ct | - required cross section type | |
numinst | - index of required cross section pramater set |
According to original function print from TKr - TKo, 1.7.2014
Definition at line 252 of file mechcrsec.cpp.
References cs2dbar, cs2dbeam, cs3d, cs3dbeam, cs3dprob, csbar2d, csbeam2d, csbeam3d, csnod, csnodal, csplanestr, csplstr, nocrosssection, crsecnod::print(), crsec3d::print(), crsecplstr::print(), crsec3dbeam::print(), crsec2dbeam::print(), crsec2dbar::print(), and print_err().
Referenced by print(), and wr_crsecs().
void read | ( | XFILE * | in | ) |
Function reads cross section characteristics.
in | - pointer to the opened text XFILE |
Created by JK, 22.7.2001 Modified by TKo 26.6.2014
Definition at line 72 of file mechcrsec.cpp.
References crsectype_kwdset(), cstype, ncst, numtype, print_err(), readcrsectype(), and xfscanf().
Referenced by mefel_init(), metr_init(), pmefel_init(), and pmetr_init().
The function reads numtype of cross section parameters for the given type of cross section from the opened text file.
in | - pointer to the opened text XFILE | |
ct | - type of cross section read | |
numt | - number of parameter sets that will be read |
Created by Tomas Koudelka according to old version of function read 26.6.2014
Definition at line 109 of file mechcrsec.cpp.
References cs2dbar, cs2dbeam, cs3d, cs3dbeam, cs3dprob, csbar2d, csbeam2d, csbeam3d, cslay, cslayer, csnod, csnodal, csplanestr, csplstr, nocrosssection, print_err(), crseclayer::read(), crsecnod::read(), crsec3d::read(), crsecplstr::read(), crsec3dbeam::read(), crsec2dbeam::read(), crsec2dbar::read(), and xfscanf().
Referenced by read(), and dbcrs::readmc().
cross section of 2D bar elements
Definition at line 66 of file mechcrsec.h.
Referenced by stochdriver::changecrsections(), give_area(), give_densitye(), mechcrsec(), printcrschar(), readcrsectype(), and ~mechcrsec().
cross section of 2D beam elements
Definition at line 68 of file mechcrsec.h.
Referenced by stochdriver::changecrsections(), give_area(), give_densitye(), give_mominer(), give_onethickness(), give_shearcoeff(), mechcrsec(), printcrschar(), readcrsectype(), and ~mechcrsec().
cross section for 3D problems
Definition at line 74 of file mechcrsec.h.
Referenced by stochdriver::changecrsections(), give_densitye(), give_densityn(), mechcrsec(), printcrschar(), readcrsectype(), and ~mechcrsec().
cross section of 3D beam elements
Definition at line 70 of file mechcrsec.h.
Referenced by stochdriver::changecrsections(), give_area(), give_densitye(), give_mominer(), give_shearcoeff(), give_vectorlcs(), mechcrsec(), printcrschar(), readcrsectype(), and ~mechcrsec().
cross section for layered plate problems
Definition at line 79 of file mechcrsec.h.
Referenced by give_densityn(), give_layer_thicke(), give_layer_zcoord(), give_num_lay(), give_onethickness(), give_thicke(), give_thickn(), give_weight(), mechcrsec(), readcrsectype(), and ~mechcrsec().
cross section defined in nodes used especially in layered static analysis
Definition at line 77 of file mechcrsec.h.
Referenced by give_onethickness(), give_weight(), mechcrsec(), printcrschar(), readcrsectype(), and ~mechcrsec().
cross section for plane stress and plate problems
Definition at line 72 of file mechcrsec.h.
Referenced by stochdriver::changecrsections(), give_densityn(), give_onethickness(), give_thicke(), give_thickn(), give_weight(), mechcrsec(), printcrschar(), readcrsectype(), and ~mechcrsec().
type of cross sections
Definition at line 61 of file mechcrsec.h.
Referenced by mechcrsec(), print(), read(), dbcrs::readmc(), and ~mechcrsec().
long ncst |
number of cross section types
Definition at line 59 of file mechcrsec.h.
Referenced by mechcrsec(), print(), read(), and dbcrs::readmc().
long* numtype |
number of instances of particular cross sections
Definition at line 63 of file mechcrsec.h.
Referenced by mechcrsec(), print(), read(), dbcrs::readmc(), and ~mechcrsec().