32 #include "material/section/repres/geom_section/region/RegionContainer.h" 33 #include "material/section/repres/geom_section/reinfLayer/ListReinfLayer.h" 35 #include "boost/lexical_cast.hpp" 37 #include "material/section/repres/SectionMassProperties.h" 44 class SectionReferenceFrame;
49 class MaterialHandler;
53 class CrossSectionProperties3d;
54 class CrossSectionProperties2d;
90 inline int getReferenceFrameTag(
void)
const 92 void setReferenceFrameTag(
int i)
103 inline int getTagSpot(
void)
const 105 void setTagSpot(
int i)
112 inline int getAxisTag(
void)
const 114 void setAxisTag(
int i)
123 double DistSpots(
const size_t &i,
const size_t &j)
const;
127 std::vector<double>
getLongsCorte(
const std::list<Line2d> &lr)
const;
132 double getCover(
const Pos2d &)
const;
147 size_t getNumFiberData(
void)
const;
155 Vector getCenterOfMassHomogenizedSection(
const double &E0)
const;
161 void Print(std::ostream &s,
int flag =0);
162 friend std::ostream &operator<<(std::ostream &,
GeomSection &);
165 std::ostream &operator<<(std::ostream &,
GeomSection &);
177 retval->Name()=
"l"+boost::lexical_cast<std::string>(
axis_tag);
182 std::cerr << getClassName() << __FUNCTION__
183 <<
"Can't create axis with tag: " Cross section geometry.
Definition: GeomSection.h:63
ListReinfLayer reinforcement_layers
Rebar layers container.
Definition: GeomSection.h:75
double getIzGrossSection(void) const
Inertia of the gross section about an axis parallel to z through its centroid.
Definition: GeomSection.cc:550
Float vector abstraction.
Definition: Vector.h:93
MaterialHandler * material_handler
Material handler (searching,...).
Definition: GeomSection.h:72
SectionReferenceFrame * get_reference_system(const size_t &id)
Returns a pointer to the reference system which identifier is being passed as parameter.
Definition: GeomSection.cc:89
Vector getCenterOfMassGrossSection(void) const
Returns gross section centroid position.
Definition: GeomSection.cc:526
double getCompressedStrutWidth(const Segment2d &) const
Return the width «b0» of the compressed strut that corresponds to the arm lever represented by the se...
Definition: GeomSection.cc:382
double getCompressedZoneDepth(const HalfPlane2d &) const
Return the section depth from the border of the half-plane being passed as parameter to the most comp...
Definition: GeomSection.cc:296
Section composed of some regions.
Definition: RegionContainer.h:52
GeomSection getCrackedSection(const HalfPlane2d &) const
Return a section with only the compressed regions of the section.
Definition: GeomSection.cc:78
Axis * find_axis(const size_t &)
Returns a pointer to the axis which name is being passed as parameter.
Definition: GeomSection.cc:135
size_t tag_sis_ref
Default identifier for next spatial reference system.
Definition: GeomSection.h:78
lst_sis_ref reference_systems
Spatial reference systems.
Definition: GeomSection.h:77
size_t tag_spot
Default identifier for next point.
Definition: GeomSection.h:81
size_t axis_tag
Default identifier for next axis.
Definition: GeomSection.h:83
double getAreaHomogenizedSection(const double &E0) const
Return the homogenized area of the regions.
Definition: GeomSection.cc:425
Spot * busca_spot(const size_t &)
Returns a pointer to the point identified by the argument.
Definition: GeomSection.cc:115
double getIzHomogenizedSection(const double &E0) const
Returns homogenized moment of inertia of the cross-section with respecto to the axis parallel to z pa...
Definition: GeomSection.cc:473
GeomSection getGMReinforcementLayers(void) const
Returns a geometry that contains only the regions defined in this object.
Definition: GeomSection.cc:70
lst_spots spots
Point container.
Definition: GeomSection.h:80
Polygon2d getCompressedZoneContour(const HalfPlane2d &) const
Return the contour of the compressed part of the regions.
Definition: GeomSection.cc:256
double getLongCorte(const Line2d &r) const
Return the lengths of the segments that results of cutting the line being passed as parameter with th...
Definition: GeomSection.cc:329
Line segment.
Definition: Segment.h:40
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 th...
Definition: GeomSection.cc:341
std::map< size_t, Spot * > lst_spots
point container.
Definition: GeomSection.h:68
Spot * creaSpot(const Pos2d &)
Creates a new point.
Definition: GeomSection.cc:175
axes_container axes
Axis container.
Definition: GeomSection.h:82
Spot * newSpot(const Pos2d &)
New spot.
Definition: GeomSection.cc:189
double getIyGrossSection(void) const
Inertia of the gross section about an axis parallel to y through its centroid.
Definition: GeomSection.cc:530
Base class for 1D entities in section definition.
Definition: Axis.h:43
double getIyHomogenizedSection(const double &E0) const
Returns homogenized moment of inertia of the cross-section with respecto to the axis parallel to y pa...
Definition: GeomSection.cc:452
Reference system used for make easier definining point positions.
Definition: SectionReferenceFrame.h:42
void Print(std::ostream &s, int flag=0)
Printing.
Definition: GeomSection.cc:593
Reinf layer container (list).
Definition: ListReinfLayer.h:53
RegionContainer regions
Region container.
Definition: GeomSection.h:74
Point object for section geometry definition.
Definition: Spot.h:43
double getAnchoMecanico(const Line2d &) const
Return the section width for the bending plane intersect being passed as parameter.
Definition: GeomSection.cc:361
double getPyzHomogenizedSection(const double &E0) const
Returns homogenized product of inertia of the cross-section with respecto to the axis parallel to y a...
Definition: GeomSection.cc:494
Axis * createAxis(void)
Creates a new axis.
Definition: GeomSection.h:169
std::map< size_t, SectionReferenceFrame * > lst_sis_ref
reference systems container.
Definition: GeomSection.h:67
Material handler (definition, searching,...).
Definition: MaterialHandler.h:45
double getTensionedZoneDepth(const HalfPlane2d &) const
Return the section depth from the border of the half-plane being passed as parameter to the most tens...
Definition: GeomSection.cc:312
double getAreaGrossSection(void) const
Returns region's gross section area.
Definition: GeomSection.cc:515
SectionReferenceFrame * createReferenceFrame(const std::string &)
Creates a new reference frame of the type being passed as parameter.
Definition: GeomSection.cc:155
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:34
Polygon2d getRegionsContour(void) const
Return the contour of the regions.
Definition: GeomSection.cc:240
Cross-section representation able to return mechanical propertis a area, moments of inertia...
Definition: SectionMassProperties.h:49
double getCover(const Pos2d &) const
Return the cover for the position being passed as parameter.
Definition: GeomSection.cc:414
double DistSpots(const size_t &i, const size_t &j) const
Return the distance between the points identified by the arguments.
Definition: GeomSection.cc:223
double getLeverArm(const Line2d &) const
Return the working cross-section lever arm from the position of the half-plane being passed as parame...
Definition: GeomSection.cc:276
Segment * newSegment(size_t, size_t)
New segment.
Definition: GeomSection.cc:207
GeomSection getGMRegions(void) const
Returns a geometry that contains only the regions defined in this object.
Definition: GeomSection.cc:61
double getPyzGrossSection(void) const
Product of inertia of the gross section about y and z axis through its centroid.
Definition: GeomSection.cc:570
std::map< size_t, Axis * > axes_container
line container.
Definition: GeomSection.h:69