![]() |
XC Open source finite element analysis program
|
Contenedor de fibras. More...
#include <StoFibras.h>
Public Member Functions | |
| StoFibras (const size_t &num=0) | |
| Default constructor. | |
| StoFibras (const StoFibras &otro) | |
| Copy constructor. | |
| StoFibras & | operator= (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. | |
| DqFibras & | operator= (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 Fiber * | buscaFibra (const int &tag) const |
| Busca la fibra cuyo tag is being passed as parameter. | |
| Fiber * | buscaFibra (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 Vector & | baricentroCompresiones (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 Vector & | baricentroDefMenores (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 Vector & | baricentroTracciones (void) const |
| Returns the punto de paso de la resultante de tracciones, si no hay tracciones returns (0,0). | |
| const Vector & | baricentroDefMayores (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 Vector & | getDeformation (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... | |
| Fiber * | addFiber (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 Matrix & | getInitialTangent (const FiberSection2d &) const |
| Returns the initial tangent stiffness matrix. | |
| const Vector & | getStressResultantSensitivity (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. | |
| Fiber * | addFiber (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 Matrix & | getInitialTangent (const FiberSection3d &) const |
| Returns the tangent stiffness matrix inicial. | |
| int | updateKRCDG (FiberSectionGJ &, KRSeccion &) |
| Update the parameters CDG, stiffness and resultant. | |
| Fiber * | addFiber (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 Matrix & | getInitialTangent (const FiberSectionGJ &) const |
| Returns the initial tangent stiffness matrix. | |
| Response * | setResponse (const std::vector< std::string > &argv, Information §Info) |
| 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 Vector & | getCdgHomogenizedSection (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. | |
| Matrix & | getIHomogenizedSection (const double &E0) const |
| Returns the tensor of inertia computed with respect to the object centroid. | |
| Matrix & | getIHomogenizedSection (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 | |
| Fiber * | inserta (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. | |
Contenedor de fibras.
1.8.11