XC Open source finite element analysis program
Public Types | Public Member Functions | Protected Attributes | Friends | List of all members

Cross section geometry. More...

#include <GeomSection.h>

Inheritance diagram for XC::GeomSection:
XC::SeccionInerte

Public Types

typedef std::map< size_t, SisRefScc * > lst_sis_ref
 reference systems container.
 
typedef std::map< size_t, Spot * > lst_spots
 point container.
 
typedef std::map< size_t, Eje * > lst_ejes
 line container.
 

Public Member Functions

 GeomSection (MaterialLoader *ml)
 
int getTagSisRef (void) const
 
void setTagSisRef (int i)
 
SisRefSccget_reference_system (const size_t &id)
 Returns a pointer to the reference system which identifier is being passed as parameter.
 
const SisRefSccget_reference_system (const size_t &id) const
 Returns a const pointer to the reference system which identifier is being passed as parameter.
 
SisRefScccurrent_reference_system (void)
 
const SisRefScccurrent_reference_system (void) const
 
SisRefScccreaSisRef (const std::string &)
 Creates a new reference system of the type being passed as parameter.
 
int getTagSpot (void) const
 
void setTagSpot (int i)
 
Spotbusca_spot (const size_t &)
 Returns a pointer to the punto cuyo identificador being passed as parameter.
 
const Spotbusca_spot (const size_t &) const
 Returns a pointer to the punto cuyo identificador being passed as parameter.
 
SpotcreaSpot (const Pos2d &)
 Creates a new point.
 
SpotnewSpot (const Pos2d &)
 New spot.
 
int getTagEje (void) const
 
void setTagEje (int i)
 
Ejebusca_eje (const size_t &)
 Returns a pointer to the eje cuyo nombre being passed as parameter.
 
const Ejebusca_eje (const size_t &) const
 Returns a pointer to the eje cuyo nombre being passed as parameter.
 
template<class E >
EjecreaEje (void)
 Creates a new axis.
 
SegmentnewSegment (size_t, size_t)
 New segment.
 
double DistSpots (const size_t &i, const size_t &j) const
 Return the distancia entre los puntos cuyos identificadores being passed as parameters.
 
Poligono2d getRegionsContour (void) const
 Return the contour of the regions.
 
Poligono2d getCompressedZoneContour (const Semiplano2d &) const
 Returns the contour of the compressed part of the regions.
 
double getLongCorte (const Recta2d &r) const
 Returns the lengths of the segments that results of cutting the line being passed as parameter with the section contour.
 
std::vector< double > getLongsCorte (const std::list< Recta2d > &lr) const
 Returns the lengths of the segments that results of cutting the line being passed as parameter with the section contour.
 
double getCantoMecanicoZonaComprimida (const Semiplano2d &) const
 Returns the section depth from the border of the half-plane being passed as parameter to the most compressed fiber.
 
double getCantoMecanicoZonaTraccionada (const Semiplano2d &) const
 Returns the section depth from the border of the half-plane being passed as parameter to the most tensioned fiber.
 
double getCantoMecanico (const Recta2d &) const
 Returns the working cross-section depth from the position of the half-plane being passed as parameter. More...
 
double getAnchoMecanico (const Recta2d &) const
 Returns the section width for the bending plane intersect being passed as parameter.
 
double getRecubrimiento (const Pos2d &) const
 Returns the cover for the position being passed as parameter.
 
double getAnchoBielaComprimida (const Segmento2d &) const
 Returns the ancho «b0» de la biela comprimida correspondiente al brazo mecánico being passed as parameter.
 
const ListRegionesgetRegiones (void) const
 
ListRegionesgetRegiones (void)
 
const ListReinfLayergetCapasArmadura (void) const
 
ListReinfLayergetCapasArmadura (void)
 
GeomSection getGMRegiones (void) const
 Returns a geometry that contains only the regions defined in this object.
 
GeomSection getGMCapasArmado (void) const
 Returns a geometry that contains only the regions defined in this object.
 
GeomSection getSeccionFisurada (const Semiplano2d &) const
 Return a section with only the compressed regions of the section.
 
size_t getNumFiberData (void) const
 
double getAreaGrossSection (void) const
 Returns region's gross section area.
 
Vector getCdgGrossSection (void) const
 Returns gross section centroid position.
 
double getIyGrossSection (void) const
 Inertia of the gross section about an axis parallel to y through its centroid.
 
double getIzGrossSection (void) const
 Inertia of the gross section about an axis parallel to z through its centroid.
 
double getPyzGrossSection (void) const
 Product of inertia of the gross section about y and z axis through its centroid.
 
Vector getCdgHomogenizedSection (const double &E0) const
 
double getAreaHomogenizedSection (const double &E0) const
 Returns the homogenized area of the regions.
 
double getIyHomogenizedSection (const double &E0) const
 Returns homogenized moment of inertia of the cross-section with respecto to the axis parallel to y passing through the centroid. More...
 
double getIzHomogenizedSection (const double &E0) const
 Returns homogenized moment of inertia of the cross-section with respecto to the axis parallel to z passing through the centroid. More...
 
double getPyzHomogenizedSection (const double &E0) const
 Returns homogenized product of inertia of the cross-section with respecto to the axis parallel to y and z passing through the centroid. More...
 
void Print (std::ostream &s, int flag=0)
 Printing.
 
- Public Member Functions inherited from XC::SeccionInerte
 SeccionInerte (EntCmd *owr=nullptr)
 
double getIxGrossSection (void) const
 Inertia of the gross section about an axis parallel to x through his center of gravity.
 
double getTheta_pGrossSection (void) const
 Agle of the principal axis of inertia of the gross section with respect of current axis.
 
Vector getDirEjeI_aGrossSection (void) const
 Direction of a principal axis of inertia of the gross section with respect of current axis.
 
Vector getDirEjeI_bGrossSection (void) const
 Direction of the other principal axis of inertia of the gross section with respect of current axis.
 
double getI1GrossSection (void) const
 Major principal moment of inertia of the gross section.
 
double getI2GrossSection (void) const
 Minor principal moment of inertia of the gross section.
 
PrincipalAxesOfInertia2D getEjesInerciaGrossSection (void) const
 Principal axis of inertia of the gross section.
 
Vector2d getVDirEje1GrossSection (void) const
 Direction of the major principal axis of inertia of the gross section.
 
Vector2d getVDirStrongAxisGrossSection (void) const
 Direction of the major principal axis of inertia of the gross section.
 
Vector2d getVDirEje2GrossSection (void) const
 Direction of the minor principal axis of inertia of the gross section.
 
Vector2d getVDirWeakAxisGrossSection (void) const
 Direction of the minor principal axis of inertia of the gross section.
 
double getIGrossSection (const unsigned short int &, const unsigned short int &) const
 Return the i,j component of the tensor of inertia computed with respect to centroid.
 
double getIGrossSection (const unsigned short int &, const unsigned short int &, const Pos2d &) const
 Return the i,j component of the tensor of inertia computed with respect to the point "o".
 
double getIGrossSection (const Pos2d &, const Vector &) const
 Returns the moment of inertia with respect to the axis that passes through O with the direction of e.
 
double getIGrossSection (const Recta2d &) const
 Returns the moment of inertia respecto a la recta being passed as parameter.
 
double getIOGrossSection (const Pos2d &) const
 Returns the momento polar de inercia with respect to the point o.
 
Matrix getIGrossSection (void) const
 Returns the tensor of inertia computed with respect to the object centroid.
 
Matrix getIGrossSection (const Pos2d &) const
 Returns the tensor of inertia respector al punto o.
 
double getIxHomogenizedSection (const double &) const
 Inertia of the homogenized section about an axis parallel to x through his center of gravity. More...
 
double getTheta_pHomogenizedSection (void) const
 Agle of the principal axis of inertia of the homogenized section with respect of current axis.
 
Vector getDirEjeI_aHomogenizedSection (void) const
 Direction of a principal axis of inertia of the homogenized section with respect of current axis. More...
 
Vector getDirEjeI_bHomogenizedSection (void) const
 Direction of the other axis of inertia of the homogenized section with respect of current axis. More...
 
double getI1HomogenizedSection (const double &) const
 Major principal moment of inertia of the homogenized section.
 
double getI2HomogenizedSection (const double &) const
 Minor principal moment of inertia of the homogenized section.
 
PrincipalAxesOfInertia2D getEjesInerciaHomogenizedSection (const double &) const
 Principal axis of inertia of the homogenized section.
 
Vector2d getVDirEje1HomogenizedSection (const double &) const
 Direction of the major principal axis of inertia of the homogenized section.
 
Vector2d getVDirStrongAxisHomogenizedSection (const double &) const
 Direction of the major principal axis of inertia of the homogenized section.
 
Vector2d getVDirEje2HomogenizedSection (const double &) const
 Direction of the minor principal axis of inertia of the homogenized section.
 
Vector2d getVDirWeakAxisHomogenizedSection (const double &) const
 Direction of the minor principal axis of inertia of the homogenized section.
 
double getIHomogenizedSection (const double &, const unsigned short int &, const unsigned short int &) const
 tensor of inertia (i,j) component of the homogenized section.
 
double getIHomogenizedSection (const double &, const unsigned short int &, const unsigned short int &, const Pos2d &) const
 Return the i,j component of the tensor of inertia computed with respect to the point "o".
 
double getIHomogenizedSection (const double &, const Pos2d &, const Vector &) const
 Returns the moment of inertia with respect to the axis that passes through O with the direction of e.
 
double getIHomogenizedSection (const double &, const Recta2d &) const
 Returns the moment of inertia respecto a la recta being passed as parameter.
 
double getIOHomogenizedSection (const double &, const Pos2d &) const
 Returns the momento polar de inercia with respect to the point o.
 
Matrix getIHomogenizedSection (const double &) const
 Returns the tensor of inertia computed with respect to the object centroid.
 
Matrix getIHomogenizedSection (const double &, const Pos2d &) const
 Returns the tensor of inertia respector al punto o.
 
CrossSectionProperties3d getCrossSectionProperties3d (const CrossSectionProperties3d &) const
 
CrossSectionProperties2d getCrossSectionProperties2d (const CrossSectionProperties2d &) const
 

Protected Attributes

MaterialLoadermaterial_loader
 Material handler (searching,...).
 
ListRegiones regiones
 Region container.
 
ListReinfLayer capas_armado
 Rebar layers container.
 
lst_sis_ref reference_systems
 Spatial reference systems.
 
size_t tag_sis_ref
 Default identifier for next spatial reference system.
 
lst_spots spots
 Point container.
 
size_t tag_spot
 Default identifier for next point.
 
lst_ejes ejes
 Axis container.
 
size_t tag_eje
 Default identifier for next axis.
 

Friends

std::ostream & operator<< (std::ostream &s, GeomSection &fiberSectionRepr)
 

Detailed Description

Cross section geometry.

Member Function Documentation

double XC::GeomSection::getCantoMecanico ( const Recta2d &  trazaPF) const

Returns the working cross-section depth from the position of the half-plane being passed as parameter.

Parameters
trazaPFIntersection of the bending plane with the plane that contains the cross section.
double XC::GeomSection::getIyHomogenizedSection ( const double &  E0) const
virtual

Returns homogenized moment of inertia of the cross-section with respecto to the axis parallel to y passing through the centroid.

Parameters
E0Reference elastic modulus.

Implements XC::SeccionInerte.

double XC::GeomSection::getIzHomogenizedSection ( const double &  E0) const
virtual

Returns homogenized moment of inertia of the cross-section with respecto to the axis parallel to z passing through the centroid.

Parameters
E0Reference elastic modulus.

Implements XC::SeccionInerte.

double XC::GeomSection::getPyzHomogenizedSection ( const double &  E0) const
virtual

Returns homogenized product of inertia of the cross-section with respecto to the axis parallel to y and z passing through the centroid.

Parameters
E0Reference elastic modulus.

Implements XC::SeccionInerte.


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