xc
Public Member Functions | Protected Member Functions | List of all members

Fiber container. More...

#include <FiberContainer.h>

Inheritance diagram for XC::FiberContainer:
XC::FiberPtrDeque

Public Member Functions

 FiberContainer (const size_t &num=0)
 Default constructor.
 
 FiberContainer (const FiberContainer &)
 Copy constructor.
 
FiberContaineroperator= (const FiberContainer &)
 Assignment operator.
 
FiberaddFiber (FiberSection2d &, Fiber &, CrossSectionKR &)
 Adds a fiber XXX Enhance parameter updating.
 
FiberaddFiber (FiberSection3d &, Fiber &, CrossSectionKR &)
 Adds a fiber to the section XXX Enhance parameter updating.
 
FiberaddFiber (FiberSectionGJ &, Fiber &, CrossSectionKR &)
 Adds a fiber to the container. XXX Enhance parameter updating.
 
void allocFibers (int numOfFibers, const Fiber *muestra=nullptr)
 Allocates memory for each fiber material and for its data; two (yLoc,Area) for 2D sections (getOrder()= 2) and three (yLoc,zLoc,Area) for 3D sections (getOrder()= 3). More...
 
void setup (FiberSection2d &, const fiber_list &, CrossSectionKR &)
 
void setup (FiberSection3d &, const fiber_list &, CrossSectionKR &)
 
void setup (FiberSectionGJ &, const fiber_list &, CrossSectionKR &)
 
 ~FiberContainer (void)
 Destructor.
 
- Public Member Functions inherited from XC::FiberPtrDeque
void push_back (Fiber *f)
 Adds the fiber to the container.
 
size_t getNumFibers (void) const
 
const FiberfindFiber (const int &tag) const
 Search for the fiber identified by the parameter.
 
FiberfindFiber (const int &tag)
 Search for the fiber identified by the parameter.
 
bool in (const Fiber *ptr) const
 Returns true if the pointer is in the container.
 
const_reference operator[] (const size_t &i) const
 
const double & getCenterOfMassY (void) const
 
const double & getCenterOfMassZ (void) const
 
Pos2d getCenterOfMass (void) const
 Return the position of the centroid.
 
double getRelativeY (const double &y) const
 
double getRelativeZ (const double &z) const
 
GeomObj::list_Pos2d getPositions (void) const
 Returns fibers positions.
 
bool isSubjectedToBending (const double &tol=1e-4) const
 Returns true if the section is subject to a under bending moment.
 
double getResultant (void) const
 Return the resultant of stresses.
 
double getMz (const double &y0=0.0) const
 Return the moment of the fibers forces with respect to the axis parallel to "z" that passes through (y0,0). More...
 
double getMy (const double &z0=0.0) const
 Return the moment of the fibers forces with respect to the axis parallel to "y" that passes through (0,z0). More...
 
double getExcentricidadMz (const double &y0=0.0) const
 Return the eccentricity of Mz (see getMz).
 
double getExcentricidadMy (const double &z0=0.0) const
 Return the eccentricity of My (see getMy).
 
Vector2d getMomentVector (const double &y0=0.0, const double &z0=0.0) const
 Return the moment vector of the fibers forces with respect to the axis parallel to "y" and z that passes through (y0,z0). More...
 
Pos2d getResultantPosition (const double &y0=0.0, const double &z0=0.0) const
 Return the position of the fibers forces resultant.
 
Line2d getNeutralAxis (void) const
 Return an approximation of the neutral axis.
 
double getCompressionResultant (void) const
 Return the resultant of the compresiones in the fibers.
 
double getCompressedFibersMz (const double &y0=0.0) const
 Return the moment of the compressed fibers with respect to the z axis. More...
 
double getCompressedFibersMy (const double &z0=0.0) const
 Return the moment of the compressed fibers with respect to the y axis. More...
 
const VectorgetCompressedFibersCentroid (void) const
 Return the passing point of the stress resultant for stresses that are lower than «ref» (zero by default; compressions), if there are not such stresses it returns (0,0). More...
 
const VectorgetCentroidFibersWithStrainSmallerThan (const double &epsRef) const
 Return the centroid of the fibers whose strain is less than the value passed as parameter. More...
 
double getTensionResultant (void) const
 Return the resultant of the tensions in the fibers.
 
double getTensionedFibersMz (const double &y0=0.0) const
 Return the moment of the tensioned fibers with respect to the z axis. More...
 
double getTensionedFibersMy (const double &z0=0.0) const
 Return the moment of the tensioned fibers with respect to the y axis. More...
 
const VectorgetTensionedFibersCentroid (void) const
 Return the centroid of the tensioned fibers, if there is no tensioned fibers returns (0,0). More...
 
const VectorgetCentroidFibersWithStrainGreaterThan (const double &epsRef) const
 Return the centroid of the fibers whose strain is greater than the value being passed as parameter. More...
 
int commitState (void)
 
double getStrainMin (void) const
 Return the min strain.
 
double getStrainMax (void) const
 Return the max strain.
 
double getStrainMed (void) const
 Return the average strain.
 
double getStressMin (void) const
 Return the minimal stress.
 
double getStressMax (void) const
 Return the minimal stress.
 
double getStressMed (void) const
 Return the average stress.
 
DeformationPlane getDeformationPlane (void) const
 Return the deformation plane (least squares adjustment).
 
const VectorgetDeformation (void) const
 Return the generalized strain vector.
 
ClaseEsfuerzo getClaseEsfuerzo (const double &tol=1e-4) const
 
bool isTensioned (void) const
 Returns true if all the fibers are tensioned.
 
bool isBent (void) const
 Returns true if some fibers are tensioned and other are compressed (bending with or without axial force).
 
bool isCompressed (void) const
 Returns true if all the fibers are compressed.
 
std::string getStrClaseEsfuerzo (const double &tol=1e-4) const
 Return a string identifying the internal stress state.
 
double getNeutralAxisDepth (const FiberSectionBase &) const
 Returns neutral axisr depth, i. More...
 
Vector getLeverArmVector (void) const
 Returns a vector oriented from the tension centroid.
 
Segment2d getLeverArmSegment (void) const
 Returns a segment from the tension centroid to the compression centroid. More...
 
double getMechanicLeverArm (void) const
 Return the lever arm of forces in the section.
 
Line2d getBendingPlaneTrace (void) const
 Return the intercept of the bending plane with the plane that contains the section. More...
 
Line2d getTensionedPlaneTrace (void) const
 Return the intercept of a plane perpendicular to the bending plane through the tensions centroid with the plane that contains the section. More...
 
Line2d getCompressedPlaneTrace (void) const
 Return the intercept of a plane perpendicular to the bending plane through the compressions centroid with the plane that contains the section. More...
 
double computeFibersEffectiveConcreteArea (const std::list< Polygon2d > &, const double &factor=15) const
 Computes crack effective areas on the fibers that represent reinforcing bars (see article 49.2.4 from EHE-08 (hatched area in figure 49.2.4b). More...
 
const std::list< Polygon2d > & getFiberEffectiveConcretAreaContour (const size_t &i) const
 Return the contours of the effective area of the fiber which index is being passed as parameter. More...
 
double getFiberEffectiveConcreteArea (const size_t &i) const
 Return the effective area value of the fiber which index is being passed as parameter. More...
 
double getFibersEffectiveConcreteArea (void) const
 Return the sum of fibers effective areas.
 
void computeCovers (const GeomSection &) const
 Computes the cover of the fibers.
 
void computeSpacement (void) const
 Computes the distance from each fiber to the nearest one.
 
const double & getFiberCover (const size_t &i) const
 Return the value of the concrete cover for the i-th fiber.
 
const double & getFiberSpacing (const size_t &i) const
 Return the spacing of the i-th fiber.
 
double getEquivalentDiameterOfFiber (const size_t &i) const
 Return the diameter of the circle that has the same area of the fiber which index is being passed as parameter. More...
 
double getSigmaSRAtFiber (const size_t &, const double &, const double &, const double &) const
 Return the stress on the i-th fiber when cracking occurs in its effective area. More...
 
double getAverageDistanceBetweenFibers (void) const
 Return the average distance between fibers.
 
int updateCenterOfMass (void)
 Updates the centroid position.
 
int updateKRCenterOfMass (FiberSection2d &, CrossSectionKR &)
 Update the parameters center of mass, stiffness and resultant. More...
 
int setInitialSectionDeformation (const FiberSection2d &)
 Sets initial strains values.
 
int setTrialSectionDeformation (const FiberSection2d &, CrossSectionKR &)
 Sets trial strains values.
 
int revertToLastCommit (FiberSection2d &, CrossSectionKR &)
 Return the fibers to its last commited state.
 
int revertToStart (FiberSection2d &, CrossSectionKR &)
 Return the fibers to its initial state.
 
const MatrixgetInitialTangent (const FiberSection2d &) const
 Return the initial tangent stiffness matrix.
 
const VectorgetStressResultantSensitivity (int gradNumber, bool conditional)
 
int commitSensitivity (const XC::Vector &defSens, int gradNumber, int numGrads)
 
int updateKRCenterOfMass (FiberSection3d &, CrossSectionKR &)
 Update the parameters center of mass, stiffness matrix and resultant.
 
int setInitialSectionDeformation (const FiberSection3d &)
 Set the initial strains.
 
int setTrialSectionDeformation (FiberSection3d &, CrossSectionKR &)
 Set the trial strains.
 
int revertToLastCommit (FiberSection3d &, CrossSectionKR &)
 Returns to the last commited state.
 
int revertToStart (FiberSection3d &, CrossSectionKR &)
 Returns to the initial state.
 
const MatrixgetInitialTangent (const FiberSection3d &) const
 Return the tangent stiffness matrix inicial.
 
int updateKRCenterOfMass (FiberSectionGJ &, CrossSectionKR &)
 Update the parameters center of mass, stiffness and resultant.
 
int setInitialSectionDeformation (const FiberSectionGJ &)
 Set the initial strains.
 
int setTrialSectionDeformation (FiberSectionGJ &, CrossSectionKR &)
 Sets generalized trial strains values.
 
int revertToLastCommit (FiberSectionGJ &, CrossSectionKR &)
 Returns to the last commited state.
 
int revertToStart (FiberSectionGJ &, CrossSectionKR &)
 Returns to the initial state.
 
const MatrixgetInitialTangent (const FiberSectionGJ &) const
 Return the initial tangent stiffness matrix.
 
ResponsesetResponse (const std::vector< std::string > &argv, Information &sectInfo)
 Gets one of the response parameters of the section.
 
void SelMatTag (const int &matTag, FiberPtrDeque &, bool clear=true)
 Return the subfiber set of this one which material tag is being passed as parameter. More...
 
size_t getFiberWithMaxCoord (const Ref3d3d &r, const size_t &iCoo) const
 Return the identifier of the fiber with maximum value for the iCoo coordinate with respect to the system being passed as parameter. More...
 
size_t getFiberWithMinCoord (const Ref3d3d &r, const size_t &iCoo) const
 Return the identifier of the fiber with minimum value for the iCoo coordinate with respect to the system being passed as parameter. More...
 
int setParameter (const int &, const std::vector< std::string > &, Parameter &)
 
int updateParameter (const int &, int parameterID, Information &info)
 
int activateParameter (int passedParameterID)
 
double GetYMin (void) const
 Returns minimal y coordinate value of the fibers.
 
double GetZMin (void) const
 Returns minimal z coordinate value of the fibers.
 
double GetYMax (void) const
 Returns maximal y coordinate value of the fibers.
 
double GetZMax (void) const
 Returns maximal z coordinate value of the fibers.
 
Pos2d GetPMax (void) const
 Return the upper right corner of the bounding rectangle.
 
Pos2d GetPMin (void) const
 Return the lower left corner of the bounding rectangle.
 
BND2d Bnd (void) const
 Return the bounding rectangle.
 
double getArea (const double &factor=1.0) const
 Return the sum of the fibers areas multiplied by the factor.
 
double getAreaHomogenizedSection (const double &E0) const
 Returns homogenized section area.
 
const VectorgetCenterOfMassHomogenizedSection (const double &E0) const
 Return the coordinates of the homogenized section centroid.
 
double getIz (const double &factor=1.0, const double &y0=0.0) const
 Return the moment of inertia with respect to an axis parallel the z axis at a distance y0 from the origin. More...
 
double getIy (const double &factor=1.0, const double &z0=0.0) const
 Return the moment of inertia with respect to an axis parallel the y axis at a distance z0 from the origin. More...
 
double getPyz (const double &factor=1.0, const double &y0=0.0, const double &z0=0.0) const
 Return the product of inertia with respect to the parallel axes at distances (y0,z0) from origin. More...
 
double getI1 (const double &factor=1.0, const double &y0=0.0, const double &z0=0.0) const
 Return the major principal moment of inertia.
 
double getI2 (const double &factor=1.0, const double &y0=0.0, const double &z0=0.0) const
 Return the moment of inertia principal menor.
 
double getTh1 (const double &y0=0.0, const double &z0=0.0) const
 Return the angle between major principal axis and the y axis.
 
Vector getAxis1 (const double &y0=0.0, const double &z0=0.0) const
 Return the direction of the major axis.
 
Vector getAxis2 (const double &y0=0.0, const double &z0=0.0) const
 Return the direction of the minor axis.
 
double getIyHomogenizedSection (const double &) const
 Returns homogenized moment of inertia of the cross-section with respect to the axis parallel to y passing through the centroid. More...
 
double getIzHomogenizedSection (const double &) const
 Returns homogenized moment of inertia of the cross-section with respect to the axis parallel to z passing through the centroid. More...
 
double getPyzHomogenizedSection (const double &) const
 Returns homogenized product of inertia of the cross-section with respect to the axis parallel to y and z passing through the centroid. More...
 
double getIHomogenizedSection (const double &, const unsigned short int &, const unsigned short int &) const
 Return the i,j component of the tensor of inertia calculado with respect to the CENTER_OF_MASS.
 
MatrixgetIHomogenizedSection (const double &) const
 Return the tensor of inertia computed with respect to the object centroid.
 
MatrixgetIHomogenizedSection (const double &, const Pos2d &o) const
 Return the tensor of inertia with respect to the point o.
 
double getIHomogenizedSection (const double &, const Pos2d &O, const Vector &e) const
 Return the moment of inertia of the homogenized section with respect to the axis parallel to vector e through the point O. More...
 
double getIHomogenizedSection (const double &, const Line2d &r) const
 Return the moment of inertia with respect to the line being passed as parameter. More...
 
double getSzPos (const double &yf, const double &y0, const double &factor=1.0) const
 Return the static moment of the cell areas that rely above yf (y_fiber-yf > 0) with respect to the axis parallel to z at the y coordinate being passed as parameter (lever arm= y_fiber-y0). More...
 
double getSzNeg (const double &yf, const double &y0, const double &factor=1.0) const
 Return the static moment of the cell areas that rely below yf (y_fiber-yf < 0) with respect to the axis parallel to z at the y coordinate being passed as parameter (lever arm= y_fiber-y0). More...
 
double getSyPos (const double &zf, const double &z0, const double &factor=1.0) const
 Return the static moment of the cell areas that rely above zf (z_fiber-zf > 0) with respect to the axis parallel to y at the z coordinate being passed as parameter (lever arm= z_fiber-z0). More...
 
double getSyNeg (const double &zf, const double &z0, const double &factor=1.0) const
 Return the static moment of the cell areas that rely below zf (z_fiber-zf < 0) with respect to the axis parallel to y at the z coordinate being passed as parameter (lever arm= z_fiber-z0). More...
 
double getSPosHomogenizedSection (const double &E0, const HalfPlane2d &sp) const
 Return the static moments of the fiber areas inside the halfplane being passed as parameter. More...
 
double getSNegHomogenizedSection (const double &E0, const HalfPlane2d &sp) const
 Return the static moments of the fiber areas outside the halfplane being passed as parameter. More...
 
double getIpolar (const double &factor=1.0) const
 Returns the polar moment of inertia with respect to G.
 
double getiz (const double factor=1.0) const
 Returns the radius of gyration with respect to the axis parallel to z que passes through the centroid. More...
 
double getiy (const double factor=1.0) const
 Returns the radius of gyration with respect to the axis parallel to y que passes through the centroid. More...
 
size_t nearest_fiber (const double &y, const double &z) const
 Return the fiber that is closest to the given position.
 
void Print (std::ostream &s, const int &flag)
 

Protected Member Functions

Fiberinsert (const Fiber &f)
 Adds the fiber to the container.
 
- Protected Member Functions inherited from XC::FiberPtrDeque
void resize (const size_t &nf)
 Spacing for each fiber.
 
reference operator[] (const size_t &i)
 
 FiberPtrDeque (const size_t &num=0)
 Constructor.
 
 FiberPtrDeque (const FiberPtrDeque &)
 Copy constructor.
 
FiberPtrDequeoperator= (const FiberPtrDeque &)
 Assignment operator.
 

Additional Inherited Members

- Public Types inherited from XC::FiberPtrDeque
typedef std::deque< Fiber * > fiber_ptrs_dq
 
- Protected Attributes inherited from XC::FiberPtrDeque
double yCenterOfMass
 Y coordinate of the centroid.
 
double zCenterOfMass
 Z coordinate of the centroid.
 
std::deque< std::list< Polygon2d > > dq_ac_effective
 (Where appropriate) effective concrete areas for each fiber.
 
std::deque< double > recubs
 
std::deque< double > seps
 Cover for each fiber.
 

Detailed Description

Fiber container.

Member Function Documentation

§ allocFibers()

void XC::FiberContainer::allocFibers ( int  numOfFibers,
const Fiber muestra = nullptr 
)

Allocates memory for each fiber material and for its data; two (yLoc,Area) for 2D sections (getOrder()= 2) and three (yLoc,zLoc,Area) for 3D sections (getOrder()= 3).


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