XC Open source finite element analysis program
Public Member Functions | List of all members

Contenedor de fibras. More...

#include <StoFibras.h>

Inheritance diagram for XC::StoFibras:
XC::DqFibras

Public Member Functions

 StoFibras (const size_t &num=0)
 Default constructor.
 
 StoFibras (const StoFibras &otro)
 Copy constructor.
 
StoFibrasoperator= (const StoFibras &otro)
 Assignment operator.
 
void allocFibers (int numFibras, 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).
 
void setup (FiberSection2d &, const contenedor_fibras &, KRSeccion &)
 
void setup (FiberSection3d &, const contenedor_fibras &, KRSeccion &)
 
void setup (FiberSectionGJ &, const contenedor_fibras &, KRSeccion &)
 
 ~StoFibras (void)
 Destructor:
 
- Public Member Functions inherited from XC::DqFibras
 DqFibras (const size_t &num=0)
 Constructor.
 
 DqFibras (const DqFibras &otro)
 Copy constructor.
 
DqFibrasoperator= (const DqFibras &otro)
 Assignment operator.
 
void push_back (Fiber *f)
 Adds to the contenedor the pointer a fibra being passed as parameter.
 
size_t getNumFibers (void) const
 
const FiberbuscaFibra (const int &tag) const
 Busca la fibra cuyo tag is being passed as parameter.
 
FiberbuscaFibra (const int &tag)
 Busca la fibra cuyo tag is being passed as parameter.
 
const double & getYCdg (void) const
 
const double & getZCdg (void) const
 
Pos2d getCdg (void) const
 Returns the position of the centroid.
 
double getYRelativa (const double &y) const
 
double getZRelativa (const double &z) const
 
GeomObj::list_Pos2d getPosiciones (void) const
 Returns fibers positions.
 
bool hayMomento (const double &tol=1e-4) const
 Returns true if the section is subject to a under bending moment.
 
double Resultante (void) const
 Returns the resultante de tensiones.
 
double getMz (const double &y0=0.0) const
 Returns the momento de la fuerza ejercida por las fibras respecto al eje paralelo al «z» que pasa por y0.
 
double getMy (const double &z0=0.0) const
 Returns the momento de la fuerza ejercida por las fibras respecto al eje al eje paralelo al «y» que pasa por z0.
 
double getExcentricidadMz (const double &y0=0.0) const
 Returns the excentricidad correspondiente al momento de la fuerza ejercida por las fibras respecto al eje paralelo al «z» que pasa por y0.
 
double getExcentricidadMy (const double &z0=0.0) const
 Returns the excentricidad correspondiente al momento de la fuerza ejercida por las fibras respecto al eje al eje paralelo al «y» que pasa por z0.
 
Vector2d getVectorMomento (const double &y0=0.0, const double &z0=0.0) const
 Returns the vector momento de la fuerza ejercida por las fibras respecto a los ejes que pasan por (y0,z0).
 
Pos2d getPosResultante (const double &y0=0.0, const double &z0=0.0) const
 Returns the vector momento de las excentricidades fuerza ejercida por las fibras respecto a los ejes que pasan por (y0,z0).
 
Recta2d getFibraNeutra (void) const
 Returns the neutral axis.
 
double ResultanteComp (void) const
 Returns the resultante de las compresiones en las fibras.
 
double getMzComp (const double &y0=0.0) const
 Returns the moment of the compressed fibers with respect to the z axis.
 
double getMyComp (const double &z0=0.0) const
 Returns the moment of the compressed fibers with respect to the y axis.
 
const VectorbaricentroCompresiones (void) const
 Returns the punto de paso de la resultante de tensiones menores que «ref» (por defecto cero) compresiones, si no hay returns (0,0).
 
const VectorbaricentroDefMenores (const double &epsRef) const
 Returns the centroid of the fibers whose strain is less than the value passed as parameter.
 
double ResultanteTracc (void) const
 Returns the resultante de las tracciones en las fibras.
 
double getMzTracc (const double &y0=0.0) const
 Returns the moment of the tensioned fibers with respect to the z axis.
 
double getMyTracc (const double &z0=0.0) const
 Returns the moment of the tensioned fibers with respect to the y axis.
 
const VectorbaricentroTracciones (void) const
 Returns the punto de paso de la resultante de tracciones, si no hay tracciones returns (0,0).
 
const VectorbaricentroDefMayores (const double &epsRef) const
 Returns the centroid of the fibers whose strain is greater than the value being passed as parameter.
 
int commitState (void)
 
double getStrainMin (void) const
 Returns the min strain.
 
double getStrainMax (void) const
 Returns the min strain.
 
double getStrainMed (void) const
 Returns the average strain.
 
double getStressMin (void) const
 Returns the minimal stress.
 
double getStressMax (void) const
 Returns the minimal stress.
 
double getStressMed (void) const
 Returns the average stress.
 
DeformationPlane getDeformationPlane (void) const
 Returns the deformation plane (least squares adjustment).
 
const VectorgetDeformation (void) const
 Returns the generalized strain vector.
 
ClaseEsfuerzo getClaseEsfuerzo (const double &tol=1e-4) const
 
bool enTraccion (void) const
 Returns true if all the fibers are tensioned.
 
bool enFlexion (void) const
 Returns true if some fibers are tensioned and other are compressed (bending with or without axial force).
 
bool enCompresion (void) const
 Returns true if all the fibers are compressed.
 
std::string getStrClaseEsfuerzo (const double &tol=1e-4) const
 
double getNeutralAxisDepth (const FiberSectionBase &) const
 Returns neutral axisr depth, i. e. distance from neutral axis to the most compressed one. The algorithm is based on the fact that get_dist_to_neutral_axis returns negative distances for compressed fibers (negative strain).
 
Vector getVectorBrazoMecanico (void) const
 Returns a vector orientado desde el centro de tracciones al de compresiones.
 
Segmento2d getSegmentoBrazoMecanico (void) const
 Returns a segmento orientado desde el centro de tracciones al de compresiones.
 
double getBrazoMecanico (void) const
 Returns the lever arm of forces in the section.
 
Recta2d getTrazaPlanoFlexion (void) const
 Returns the intercept of the bending plane with the plane that contains the section.
 
Recta2d getTrazaPlanoTraccion (void) const
 Returns the intercept of a plane perpendicular to the bending plane through the tensions centroid with the plane that contains the section.
 
Recta2d getTrazaPlanoCompresion (void) const
 Returns the intercept of a plane perpendicular to the bending plane through the compressions centroid with the plane that contains the section.
 
double calcAcEficazFibras (const std::list< Poligono2d > &, 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). See also figures 47.5 y 47.6 from volume II of the book "Proyecto y cálculo de estructuras de hormigón" José Calavera. Instead to consider an square shape we consider a dodecagone with the same area. I think it's less anisotropic. More...
 
const std::list< Poligono2d > & getContourAcEficazFibra (const size_t &i) const
 Returns the contours of the effective area of the fiber which index is being passed as parameter.
 
double getAcEficazFibra (const size_t &i) const
 Returns the effective area value of the fiber which index is being passed as parameter.
 
double getAcEficazFibras (void) const
 Returns the sum of fibers effective areas.
 
void calcRecubrimientos (const GeomSection &) const
 Calcula los recubrimientos de las fibras.
 
void calcSeparaciones (void) const
 Computes the distance from each fiber to the nearest one.
 
const double & getRecubrimientoFibra (const size_t &i) const
 Returns the value of concrete cover for the i-th fiber.
 
const double & getSeparacionFibra (const size_t &i) const
 Returns the spacing of the i-th fiber.
 
double getDiamEqFibra (const size_t &i) const
 Returns the diameter of the circle that has the same area of the fiber which index is being passed as parameter.
 
double getSigmaSRFibra (const size_t &, const double &, const double &, const double &) const
 Returns the stress on the i-th fiber when cracking occurs in its effective area.
 
double getDistMediaFibras (void) const
 Returns the distancia media entre fibras.
 
int updateCDG (void)
 Actualiza el CDG.
 
int updateKRCDG (FiberSection2d &, KRSeccion &)
 Update the parameters CDG, stiffness and resultant. More...
 
FiberaddFiber (FiberSection2d &, Fiber &, KRSeccion &)
 Adds a fiber XXX Enhance parameter updating.
 
int setInitialSectionDeformation (const FiberSection2d &)
 Establece los valores de las initial strains.
 
int setTrialSectionDeformation (const FiberSection2d &, KRSeccion &)
 Establece los valores de las trial strains.
 
int revertToLastCommit (FiberSection2d &, KRSeccion &)
 Returns the estado de las fibras al del último commit.
 
int revertToStart (FiberSection2d &, KRSeccion &)
 Returns the fibras a su estado inicial.
 
const MatrixgetInitialTangent (const FiberSection2d &) const
 Returns the initial tangent stiffness matrix.
 
const VectorgetStressResultantSensitivity (int gradNumber, bool conditional)
 
int commitSensitivity (const XC::Vector &defSens, int gradNumber, int numGrads)
 
int updateKRCDG (FiberSection3d &, KRSeccion &)
 Update the parameters CDG, stiffness matrix and resultant.
 
FiberaddFiber (FiberSection3d &, Fiber &, KRSeccion &)
 Adds a fiber to the section XXX Enhance parameter updating.
 
int setInitialSectionDeformation (const FiberSection3d &)
 Establece los valores de las initial strains.
 
int setTrialSectionDeformation (FiberSection3d &, KRSeccion &)
 Establece los valores de las trial strains.
 
int revertToLastCommit (FiberSection3d &, KRSeccion &)
 Returns to the last commited state.
 
int revertToStart (FiberSection3d &, KRSeccion &)
 Returns to the initial state.
 
const MatrixgetInitialTangent (const FiberSection3d &) const
 Returns the tangent stiffness matrix inicial.
 
int updateKRCDG (FiberSectionGJ &, KRSeccion &)
 Update the parameters CDG, stiffness and resultant.
 
FiberaddFiber (FiberSectionGJ &, Fiber &, KRSeccion &)
 Adds a fiber to the container. XXX Enhance parameter updating.
 
int setInitialSectionDeformation (const FiberSectionGJ &)
 Establece los valores de las initial strains.
 
int setTrialSectionDeformation (FiberSectionGJ &, KRSeccion &)
 Sets generalized trial strains values.
 
int revertToLastCommit (FiberSectionGJ &, KRSeccion &)
 Returns to the last commited state.
 
int revertToStart (FiberSectionGJ &, KRSeccion &)
 Returns to the initial state.
 
const MatrixgetInitialTangent (const FiberSectionGJ &) const
 Returns 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, DqFibras &, bool clear=true)
 
size_t getFibraCooMax (const Ref3d3d &r, const size_t &iCoo) const
 Returns the identifier of the fiber with maximum value for the iCoo coordinate with respect to the system being passed as parameter.
 
size_t getFibraCooMin (const Ref3d3d &r, const size_t &iCoo) const
 Returns the identifier of the fiber with minimum value for the iCoo coordinate with respect to the system being passed as parameter.
 
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
 Returns the upper right corner of the bounding rectangle.
 
Pos2d GetPMin (void) const
 Returns the lower left corner of the bounding rectangle.
 
BND2d Bnd (void) const
 Returns the bounding rectangle.
 
double getSumaAreas (const double &factor=1.0) const
 Returns the sum of the fibers areas.
 
double getAreaHomogenizedSection (const double &E0) const
 Returns homogenized section area.
 
const VectorgetCdgHomogenizedSection (const double &E0) const
 Returns the coordinates of the homogenized section centroid.
 
double getIz (const double &factor=1.0, const double &y0=0.0) const
 Returns the moment of inertia respecto al paralelo al z a una distancia y0 del origen.
 
double getIy (const double &factor=1.0, const double &z0=0.0) const
 Returns the moment of inertia respecto al eje paralelo al y a una distancia z0 del origen.
 
double getPyz (const double &factor=1.0, const double &y0=0.0, const double &z0=0.0) const
 Returns the producto de inercia respecto a los ejes paralelos aa una distancias (y0,z0) del origen.
 
double getI1 (const double &factor=1.0, const double &y0=0.0, const double &z0=0.0) const
 Returns the moment of inertia principal mayor.
 
double getI2 (const double &factor=1.0, const double &y0=0.0, const double &z0=0.0) const
 Returns the moment of inertia principal menor.
 
double getTh1 (const double &y0=0.0, const double &z0=0.0) const
 Returns the angle between major principal axis and the y axis.
 
Vector getEje1 (const double &y0=0.0, const double &z0=0.0) const
 Returns the direction of the major axis.
 
Vector getEje2 (const double &y0=0.0, const double &z0=0.0) const
 Returns the direction of the minor axis.
 
double getIyHomogenizedSection (const double &) 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 &) 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 &) 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...
 
double getIHomogenizedSection (const double &, const unsigned short int &, const unsigned short int &) const
 Returns the i,j component of the tensor of inertia calculado respecto al CDG.
 
MatrixgetIHomogenizedSection (const double &E0) const
 Returns the tensor of inertia computed with respect to the object centroid.
 
MatrixgetIHomogenizedSection (const double &E0, const Pos2d &o) const
 Returns the tensor of inertia respector al punto o.
 
double getIHomogenizedSection (const double &E0, const Pos2d &O, const Vector &e) const
 Returns 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 &E0, const Recta2d &r) const
 Returns the moment of inertia with respect to the line being passed as parameter.
 
double getSzPos (const double &yf, const double &y0, const double &factor=1.0) const
 Returns the static moment of the cell areas that rely above yf (y_fibra-yf > 0) with respect to the axis parallel to z at the y coordinate being passed as parameter (lever arm= y_fiber-y0).
 
double getSzNeg (const double &yf, const double &y0, const double &factor=1.0) const
 Returns the static moment of the cell areas that rely below yf (y_fibra-yf < 0) with respect to the axis parallel to z at the y coordinate being passed as parameter (lever arm= y_fiber-y0).
 
double getSyPos (const double &zf, const double &z0, const double &factor=1.0) const
 Returns the static moment of the cell areas that rely above zf (z_fibra-zf > 0) with respect to the axis parallel to y at the z coordinate being passed as parameter (lever arm= z_fiber-z0).
 
double getSyNeg (const double &zf, const double &z0, const double &factor=1.0) const
 Returns the static moment of the cell areas that rely below zf (z_fibra-zf < 0) with respect to the axis parallel to y at the z coordinate being passed as parameter (lever arm= z_fiber-z0).
 
double getSPosHomogenizedSection (const double &E0, const Semiplano2d &sp) const
 Returns the static moments of the fiber areas inside the halfplane being passed as parameter.
 
double getSNegHomogenizedSection (const double &E0, const Semiplano2d &sp) const
 Returns the static moments of the fiber areas outside the halfplane being passed as parameter.
 
double getIpolar (const double &factor=1.0) const
 Returns the momento de inercia polar respecto a G.
 
double getiz (const double factor=1.0) const
 Returns the radio de giro respecto al eje paralelo al z que pasa por el CDG.
 
double getiy (const double factor=1.0) const
 Returns the radio de giro respecto al eje paralelo al y que pasa por el CDG.
 
size_t nearest_fiber (const double &y, const double &z) const
 Returns the fiber that is closest to the given position.
 
void Print (std::ostream &s, const int &flag)
 

Additional Inherited Members

- Public Types inherited from XC::DqFibras
typedef std::deque< Fiber * > dq_ptr_fibras
 
- Protected Member Functions inherited from XC::DqFibras
Fiberinserta (const Fiber &f)
 Spacing for each fiber. More...
 
void resize (const size_t &nf)
 
- Protected Attributes inherited from XC::DqFibras
double yCDG
 Y coordinate of the centroid.
 
double zCDG
 Z coordinate of the centroid.
 
std::deque< std::list< Poligono2d > > dq_ac_eficaz
 (Where appropriate) effective areas for each fiber.
 
std::deque< double > recubs
 
std::deque< double > seps
 Cover for each fiber.
 

Detailed Description

Contenedor de fibras.


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