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.