mechcrsec Class Reference

#include <mechcrsec.h>

List of all members.

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

crsec2dbarcs2dbar
 cross section of 2D bar elements
crsec2dbeamcs2dbeam
 cross section of 2D beam elements
crsec3dcs3d
 cross section for 3D problems
crsec3dbeamcs3dbeam
 cross section of 3D beam elements
crseclayercslay
 cross section for layered plate problems
crsecnodcsnod
crsecplstrcsplstr
 cross section for plane stress and plate problems
crsectypecstype
 type of cross sections
long ncst
 number of cross section types
long * numtype
 number of instances of particular cross sections

Detailed Description

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.


Constructor & Destructor Documentation

mechcrsec (  ) 

Constructor initializes data members to zero or default values.

Created by JK,

Definition at line 22 of file mechcrsec.cpp.

References cs2dbar, cs2dbeam, cs3d, cs3dbeam, cslay, csnod, csplstr, cstype, ncst, and numtype.

~mechcrsec (  ) 

Destructor releases allocated memory of the mechcrsec object.

Created by JK,

Definition at line 47 of file mechcrsec.cpp.

References cs2dbar, cs2dbeam, cs3d, cs3dbeam, cslay, csnod, csplstr, cstype, and numtype.


Member Function Documentation

void give_area ( long  eid,
double &  a 
)

Function returns area of cross-section.

Parameters:
eid - element id
a - cross-sectio area of the element (output)
Returns:
The function returns cross-section area of the given element in the parameter a.

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

void give_density ( long  eid,
ivector nodes,
vector dens 
)

Function returns density on element.

Parameters:
eid - element id
nodes - vector containing numbers of nodes defining element
dens - vector of densities in the given nodes (output)
Returns:
The function returns nodal densities in the parameter dens.

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.

Parameters:
eid - element id
rho - density (output)
Returns:
The function returns density in the parameter rho.

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

void give_densityn ( ivector nod,
vector rho 
)

Fnction returns densities in nodes.

Parameters:
nod - vector containing numbers of nodes defining element
rho - array containing densities (output)
Returns:
The function returns nodal densities in the parameter rho.

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.

Parameters:
eid - element id
*t - thickness (output)
Returns:

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.

Parameters:
eid - element id
*z - z-coordinates (output)
Returns:

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 
)
long give_num_lay ( long  eid  ) 

Function returns number of layers on element.

Parameters:
eid - element id
Returns:

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.

Parameters:
crst - cross-section type
idcst - cross-sectio type id
Returns:
The function returns thickness of the given cross-section type and 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 
)
void give_thicke ( long  eid,
double &  t 
)

Function returns thickness on element.

Parameters:
eid - element id
t - thickness (output)
Returns:
The function returns thickness of the given element in the parameter t.

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

void give_thickn ( ivector nod,
vector t 
)

Function returns thicknesses in nodes.

Parameters:
nod - vector containing numbers of nodes defining element
t - array containing thicknesses (output)
Returns:
The function returns thickness at the given node in the parameter t

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

void give_thickness ( long  eid,
ivector nodes,
vector th 
)

Function returns thickness on element.

Parameters:
eid - element id
nodes - vector of node numbers of the given element
th - vector of thicknesses at nodes (output)
Returns:
The function returns thickness at nodes of the given element in the parameter th.

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 
)
double give_weight ( crsectype  cr,
long  idcs 
)

Function returns weight of concentrated mass

Parameters:
cr - type of cross section
idcs - number of cross section
Returns:
The function returns weight of concentrated mass for the given cross-section type and id.

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.

Parameters:
out - pointer to the opened text FILE
Returns:
The function does not return anything.

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.

Parameters:
out - pointer to the opened text FILE
ct - required cross section type
numinst - index of required cross section pramater set
Returns:
The function does not return anything.

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.

Parameters:
in - pointer to the opened text XFILE
Returns:
The function does not return anything.

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

void readcrsectype ( XFILE in,
crsectype  ct,
long  numt 
)

The function reads numtype of cross section parameters for the given type of cross section from the opened text file.

Parameters:
in - pointer to the opened text XFILE
ct - type of cross section read
numt - number of parameter sets that will be read
Returns:
The function does not return anything.

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


Member Data Documentation

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


The documentation for this class was generated from the following files:

Generated by  doxygen 1.6.2