xc
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::SectionMassProperties

Public Types

typedef std::map< size_t, SectionReferenceFrame * > lst_sis_ref
 reference systems container.
 
typedef std::map< size_t, Spot * > lst_spots
 point container.
 
typedef std::map< size_t, Axis * > axes_container
 line container.
 

Public Member Functions

 GeomSection (MaterialHandler *ml)
 
int getReferenceFrameTag (void) const
 
void setReferenceFrameTag (int i)
 
SectionReferenceFrameget_reference_system (const size_t &id)
 Returns a pointer to the reference system which identifier is being passed as parameter.
 
const SectionReferenceFrameget_reference_system (const size_t &id) const
 Returns a const pointer to the reference system which identifier is being passed as parameter.
 
SectionReferenceFramecurrent_reference_system (void)
 
const SectionReferenceFramecurrent_reference_system (void) const
 
SectionReferenceFramecreateReferenceFrame (const std::string &)
 Creates a new reference frame 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 point identified by the argument.
 
const Spotbusca_spot (const size_t &) const
 Returns a pointer to the point identified by the argument.
 
SpotcreaSpot (const Pos2d &)
 Creates a new point.
 
SpotnewSpot (const Pos2d &)
 New spot.
 
int getAxisTag (void) const
 
void setAxisTag (int i)
 
Axisfind_axis (const size_t &)
 Returns a pointer to the axis which name is being passed as parameter.
 
const Axisfind_axis (const size_t &) const
 Returns a pointer to the axis which name is being passed as parameter.
 
template<class E >
AxiscreateAxis (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 distance between the points identified by the arguments. More...
 
Polygon2d getRegionsContour (void) const
 Return the contour of the regions.
 
Polygon2d getCompressedZoneContour (const HalfPlane2d &) const
 Return the contour of the compressed part of the regions.
 
double getLongCorte (const Line2d &r) const
 Return the lengths of the segments that results of cutting the line being passed as parameter with the section contour. More...
 
std::vector< double > getLongsCorte (const std::list< Line2d > &lr) const
 Return the lengths of the segments that results of cutting the line being passed as parameter with the section contour. More...
 
double getCompressedZoneDepth (const HalfPlane2d &) const
 Return the section depth from the border of the half-plane being passed as parameter to the most compressed fiber. More...
 
double getTensionedZoneDepth (const HalfPlane2d &) const
 Return the section depth from the border of the half-plane being passed as parameter to the most tensioned fiber. More...
 
double getLeverArm (const Line2d &) const
 Return the working cross-section lever arm from the position of the half-plane being passed as parameter. More...
 
double getAnchoMecanico (const Line2d &) const
 Return the section width for the bending plane intersect being passed as parameter. More...
 
double getCover (const Pos2d &) const
 Return the cover for the position being passed as parameter.
 
double getCompressedStrutWidth (const Segment2d &) const
 Return the width «b0» of the compressed strut that corresponds to the arm lever represented by the segment being passed as parameter. More...
 
const RegionContainergetRegions (void) const
 
RegionContainergetRegions (void)
 
const ListReinfLayergetReinforcementLayers (void) const
 
ListReinfLayergetReinforcementLayers (void)
 
GeomSection getGMRegions (void) const
 Returns a geometry that contains only the regions defined in this object. More...
 
GeomSection getGMReinforcementLayers (void) const
 Returns a geometry that contains only the regions defined in this object. More...
 
GeomSection getCrackedSection (const HalfPlane2d &) 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 getCenterOfMassGrossSection (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 getCenterOfMassHomogenizedSection (const double &E0) const
 
double getAreaHomogenizedSection (const double &E0) const
 Return 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::SectionMassProperties
 SectionMassProperties (CommandEntity *owr=nullptr)
 Constructor.
 
double getIxGrossSection (void) const
 Inertia of the gross section about an axis parallel to x through his center of gravity. More...
 
double getTheta_pGrossSection (void) const
 Agle of the principal axis of inertia of the gross section with respect of current axis. More...
 
Vector getIAxisDir_aGrossSection (void) const
 Direction of a principal axis of inertia of the gross section with respect of current axis. More...
 
Vector getIAxisDir_bGrossSection (void) const
 Direction of the other principal axis of inertia of the gross section with respect of current axis. More...
 
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 getInertiaAxesGrossSection (void) const
 Principal axis of inertia of the gross section.
 
Vector2d getAxis1VDirGrossSection (void) const
 Direction of the major principal axis of inertia of the gross section. More...
 
Vector2d getVDirStrongAxisGrossSection (void) const
 Direction of the major principal axis of inertia of the gross section. More...
 
Vector2d getAxis2VDirGrossSection (void) const
 Direction of the minor principal axis of inertia of the gross section. More...
 
Vector2d getVDirWeakAxisGrossSection (void) const
 Direction of the minor principal axis of inertia of the gross section. More...
 
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. More...
 
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". More...
 
double getIGrossSection (const Pos2d &, const Vector &) const
 Return the moment of inertia with respect to the axis that passes through O with the direction of e. More...
 
double getIGrossSection (const Line2d &) const
 Return the moment of inertia respecto a la recta being passed as parameter. More...
 
double getIOGrossSection (const Pos2d &) const
 Return the polar moment of inertia with respect to the point o.
 
Matrix getIGrossSection (void) const
 Return the tensor of inertia computed with respect to the object centroid. More...
 
Matrix getIGrossSection (const Pos2d &) const
 Return the tensor of inertia with respect to the point 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. More...
 
Vector getIAxisDir_aHomogenizedSection (void) const
 Direction of a principal axis of inertia of the homogenized section with respect of current axis. More...
 
Vector getIAxisDir_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 getInertiaAxesHomogenizedSection (const double &) const
 Principal axis of inertia of the homogenized section.
 
Vector2d getAxis1VDirHomogenizedSection (const double &) const
 Direction of the major principal axis of inertia of the homogenized section. More...
 
Vector2d getVDirStrongAxisHomogenizedSection (const double &) const
 Direction of the major principal axis of inertia of the homogenized section. More...
 
Vector2d getAxis2VDirHomogenizedSection (const double &) const
 Direction of the minor principal axis of inertia of the homogenized section. More...
 
Vector2d getVDirWeakAxisHomogenizedSection (const double &) const
 Direction of the minor principal axis of inertia of the homogenized section. More...
 
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". More...
 
double getIHomogenizedSection (const double &, const Pos2d &, const Vector &) const
 Return the moment of inertia with respect to the axis that passes through O with the direction of e. More...
 
double getIHomogenizedSection (const double &, const Line2d &) const
 Return the moment of inertia respecto a la recta being passed as parameter. More...
 
double getIOHomogenizedSection (const double &, const Pos2d &) const
 Return the polar moment of inertia with respect to the point o.
 
Matrix getIHomogenizedSection (const double &) const
 Return the tensor of inertia computed with respect to the object centroid. More...
 
Matrix getIHomogenizedSection (const double &, const Pos2d &) const
 Return the tensor of inertia with respect to the point o.
 
CrossSectionProperties3d getCrossSectionProperties3d (const CrossSectionProperties3d &) const
 Return the 3D mass properties of the homogenized section.
 
CrossSectionProperties2d getCrossSectionProperties2d (const CrossSectionProperties2d &) const
 Return the 2D mass properties of the homogenized section.
 

Protected Attributes

MaterialHandlermaterial_handler
 Material handler (searching,...).
 
RegionContainer regions
 Region container.
 
ListReinfLayer reinforcement_layers
 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.
 
axes_container axes
 Axis container.
 
size_t axis_tag
 Default identifier for next axis.
 

Friends

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

Detailed Description

Cross section geometry.

Member Function Documentation

§ DistSpots()

double XC::GeomSection::DistSpots ( const size_t &  i,
const size_t &  j 
) const

Return the distance between the points identified by the arguments.

§ getAnchoMecanico()

double XC::GeomSection::getAnchoMecanico ( const Line2d &  bending_plane_trace) const

Return the section width for the bending plane intersect being passed as parameter.

§ getCompressedStrutWidth()

double XC::GeomSection::getCompressedStrutWidth ( const Segment2d &  lever_arm) const

Return the width «b0» of the compressed strut that corresponds to the arm lever represented by the segment being passed as parameter.

§ getCompressedZoneDepth()

double XC::GeomSection::getCompressedZoneDepth ( const HalfPlane2d &  sp_compresiones) const

Return the section depth from the border of the half-plane being passed as parameter to the most compressed fiber.

§ getGMRegions()

XC::GeomSection XC::GeomSection::getGMRegions ( void  ) const

Returns a geometry that contains only the regions defined in this object.

§ getGMReinforcementLayers()

XC::GeomSection XC::GeomSection::getGMReinforcementLayers ( void  ) const

Returns a geometry that contains only the regions defined in this object.

§ getIyHomogenizedSection()

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::SectionMassProperties.

§ getIzHomogenizedSection()

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::SectionMassProperties.

§ getLeverArm()

double XC::GeomSection::getLeverArm ( const Line2d &  PFtrace) const

Return the working cross-section lever arm from the position of the half-plane being passed as parameter.

Parameters
PFtraceTrace of the bending plane with over plane that contains the cross section.

§ getLongCorte()

double XC::GeomSection::getLongCorte ( const Line2d &  r) const

Return the lengths of the segments that results of cutting the line being passed as parameter with the section contour.

§ getLongsCorte()

std::vector< double > XC::GeomSection::getLongsCorte ( const std::list< Line2d > &  lr) const

Return the lengths of the segments that results of cutting the line being passed as parameter with the section contour.

§ getPyzHomogenizedSection()

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::SectionMassProperties.

§ getTensionedZoneDepth()

double XC::GeomSection::getTensionedZoneDepth ( const HalfPlane2d &  sp_compresiones) const

Return the section depth from the border of the half-plane being passed as parameter to the most tensioned fiber.


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