60 #ifndef ElasticBeam3d_h 61 #define ElasticBeam3d_h 63 #include <domain/mesh/element/truss_beam_column/ProtoBeam3d.h> 64 #include <utility/matrix/Matrix.h> 65 #include "domain/mesh/element/truss_beam_column/EsfBeamColumn3d.h" 66 #include "domain/mesh/element/utils/fvectors/FVectorBeamColumn3d.h" 67 #include "domain/mesh/element/utils/coordTransformation/CrdTransf3d.h" 73 class SectionForceDeformation;
103 ElasticBeam3d(
int tag,
double A,
double E,
double G,
double Jx,
double Iy,
double Iz,
int Nd1,
int Nd2,
CrdTransf3d &theTransf,
double rho = 0.0,
int sectionTag = 0);
111 int setInitialSectionDeformation(
const Vector&);
112 inline const Vector &getInitialSectionDeformation(
void)
const 125 double getRho(
void)
const 127 void setRho(
const double &r)
129 const Vector &getInitialStrain(
void)
const 131 void setInitialStrain(
const Vector &e)
136 const Matrix &getInitialStiff(
void)
const;
141 int addInertiaLoadToUnbalance(
const Vector &accel);
152 void Print(std::ostream &s,
int flag =0);
158 return q.
AN1()+p0[0];
170 return -q.
AN1()-p0[0];
182 return (-q.
AN1()-p0[0]+q.
AN2())/2.0;
212 return q.
Vy(theCoordTransf->getInitialLength());
218 return q.
Vy(theCoordTransf->getInitialLength())+p0[1];
224 return -q.
Vy(theCoordTransf->getInitialLength())+p0[2];
230 return -q.
Vy(theCoordTransf->getInitialLength())-p0[1];
236 return p0[2]-q.
Vy(theCoordTransf->getInitialLength());
242 return q.
Vz(theCoordTransf->getInitialLength());
248 return q.
Vz(theCoordTransf->getInitialLength())+p0[3];
254 return -q.
Vz(theCoordTransf->getInitialLength())+p0[4];
260 return -q.
Vz(theCoordTransf->getInitialLength())-p0[3];
266 return p0[4]-q.
Vz(theCoordTransf->getInitialLength());
double getAN2(void)
Axial force which acts over the element in his front end.
Definition: ElasticBeam3d.h:162
double getVz(void)
Internal z shear force in the middle of the element.
Definition: ElasticBeam3d.h:240
double getVy1(void)
Internal y shear force at the back end.
Definition: ElasticBeam3d.h:228
double Vy(const double &L) const
Returns shear along y axis.
Definition: EsfBeamColumn3d.h:77
int getResponse(int responseID, Information &info)
Obtain information from an analysis.
Definition: ElasticBeam3d.cpp:777
const double & T(void) const
Returns the torsor.
Definition: EsfBeamColumn3d.h:95
Float vector abstraction.
Definition: Vector.h:93
double getMy1(void)
Internal bending moment about y axis at the back end.
Definition: ElasticBeam3d.h:270
Base class for 3D beams.
Definition: ProtoBeam3d.h:39
const double & My1(void) const
Returns the moment about y in the back end.
Definition: EsfBeamColumn3d.h:80
void zeroLoad(void)
Zeroes the loads over the element.
Definition: ElasticBeam3d.cpp:428
const double & Mz2(void) const
Returns the moment about z in the front end.
Definition: EsfBeamColumn3d.h:71
Definition: Response.h:71
double getMz1(void)
Internal bending moment about z axis at the back end.
Definition: ElasticBeam3d.h:198
const Vector & getVDirStrongAxisGlobalCoord(bool initialGeometry) const
Returns the direction vector of element strong axis expressed in the global coordinate system...
Definition: ElasticBeam3d.cpp:579
Internal forces for a beam column 3D element.
Definition: FVectorBeamColumn3d.h:40
CrdTransf provides the abstraction of a frame coordinate transformation.
Definition: CrdTransf.h:87
ElasticBeam3d(int tag=0)
Default constructor.
Definition: ElasticBeam3d.cpp:104
double getN1(void)
Internal axial force at the back end.
Definition: ElasticBeam3d.h:168
double getVz2(void)
Internal z shear force at the front end.
Definition: ElasticBeam3d.h:264
int recvData(const CommParameters &cp)
Receives members through the channel being passed as parameter.
Definition: ElasticBeam3d.cpp:643
double getAMz2(void)
Moment about z axis applied over the bar in its front end.
Definition: ElasticBeam3d.h:192
Base class for materials.
Definition: Material.h:91
double getVz1(void)
Internal z shear force at the back end.
Definition: ElasticBeam3d.h:258
Vector that stores the dbTags of the class members.
Definition: DbTagData.h:43
void Print(std::ostream &s, int flag=0)
Print stuff.
Definition: ElasticBeam3d.cpp:683
const Vector & getResistingForceIncInertia(void) const
Returns the resisting force vector including inertia forces.
Definition: ElasticBeam3d.cpp:503
const Vector & getVDirWeakAxisGlobalCoord(bool initialGeometry) const
Returns the direction vector of element weak axis expressed in the global coordinate system...
Definition: ElasticBeam3d.cpp:600
double Vz(const double &L) const
Returns the shear along z.
Definition: EsfBeamColumn3d.h:92
int recvSelf(const CommParameters &)
Receives object through the channel being passed as parameter.
Definition: ElasticBeam3d.cpp:671
double getN2(void)
Internal axial force at the front end.
Definition: ElasticBeam3d.h:174
double getAVz1(void)
z shear drived over the bar in its back end.
Definition: ElasticBeam3d.h:246
Base class for the finite elements.
Definition: Element.h:109
double getMy2(void)
Internal bending moment about y axis at the front end.
Definition: ElasticBeam3d.h:276
int revertToLastCommit(void)
Revert to the last commited state.
Definition: ElasticBeam3d.cpp:297
const Vector & getSectionDeformation(void) const
Return the section generalized strain.
Definition: ElasticBeam3d.cpp:266
Element * getCopy(void) const
Virtual constructor.
Definition: ElasticBeam3d.cpp:209
double getN(void)
Internal axial force at the middle of the element.
Definition: ElasticBeam3d.h:180
double getT(void)
Internal torsional force in the middle of the element.
Definition: ElasticBeam3d.h:282
double getAMz1(void)
Moment about z axis that is applied over the bar in its back end.
Definition: ElasticBeam3d.h:186
3D beam column internal forces.
Definition: EsfBeamColumn3d.h:45
const Matrix & getMass(void) const
Return the mass matrix of the element.
Definition: ElasticBeam3d.cpp:399
virtual CrdTransf * getCoordTransf(void)
Returns (if possible) a pointer to the coordinate transformation.
Definition: ElasticBeam3d.cpp:217
ElasticBeam3d & operator=(const ElasticBeam3d &)
Assignment operator.
Definition: ElasticBeam3d.cpp:194
double getAVy1(void)
y shear drived over the bar in its back end.
Definition: ElasticBeam3d.h:216
DbTagData & getDbTagData(void) const
Returns a vector to store the dbTags of the class members.
Definition: ElasticBeam3d.cpp:621
double getMz2(void)
Internal bending moment about z axis at the front end.
Definition: ElasticBeam3d.h:204
double AN1(void) const
Return the axial force in the back end.
Definition: EsfBeamColumn3d.h:59
int sendSelf(CommParameters &)
Sends object through the channel being passed as parameter.
Definition: ElasticBeam3d.cpp:658
double AN2(void) const
Return the axial force in the front end.
Definition: EsfBeamColumn3d.h:62
double getT2(void)
Internal torsional force at the front end.
Definition: ElasticBeam3d.h:294
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:34
Communication parameters between processes.
Definition: CommParameters.h:65
Matrix of floats.
Definition: Matrix.h:108
double T2(void) const
Returns the torsor in the front end.
Definition: EsfBeamColumn3d.h:104
double getVy2(void)
Internal y shear force at the front end.
Definition: ElasticBeam3d.h:234
~ElasticBeam3d(void)
Constructor.
Definition: ElasticBeam3d.cpp:213
Base class for loads over elements.
Definition: ElementalLoad.h:77
double getT1(void)
Internal torsional force at the back end.
Definition: ElasticBeam3d.h:288
double getAN1(void)
Axial force which acts over the element in his back end.
Definition: ElasticBeam3d.h:156
const double & Mz1(void) const
Returns the moment about z in the back end.
Definition: EsfBeamColumn3d.h:65
int sendData(CommParameters &cp)
Send members through the channel being passed as parameter.
Definition: ElasticBeam3d.cpp:628
double getAVz2(void)
z shear drived over the bar in its front end.
Definition: ElasticBeam3d.h:252
Domain (mesh and boundary conditions) of the finite element model.
Definition: Domain.h:116
int commitState(void)
Commit the current element state.
Definition: ElasticBeam3d.cpp:287
double getVy(void)
Internal shear force in the middle of the element.
Definition: ElasticBeam3d.h:210
Response * setResponse(const std::vector< std::string > &argv, Information &info)
setResponse() is a method invoked to determine if the element will respond to a request for a certain...
Definition: ElasticBeam3d.cpp:758
const double & My2(void) const
Returns the moment about y in the front end.
Definition: EsfBeamColumn3d.h:86
double getAVy2(void)
y shear drived over the bar in its front end.
Definition: ElasticBeam3d.h:222
const Matrix & getTangentStiff(void) const
Return the tangent stiffness matrix expresada en coordenadas globales.
Definition: ElasticBeam3d.cpp:307
const Vector & getResistingForce(void) const
Returns the resisting force vector for the element.
Definition: ElasticBeam3d.cpp:534
int update(void)
Updates the element state.
Definition: ElasticBeam3d.cpp:303
double T1(void) const
Returns the torsor in the back end.
Definition: EsfBeamColumn3d.h:101
void setDomain(Domain *theDomain)
Sets the domain for the element.
Definition: ElasticBeam3d.cpp:224
int revertToStart(void)
Reverts the element to its initial state.
Definition: ElasticBeam3d.cpp:300
3D elastic beam element.
Definition: ElasticBeam3d.h:78
Base class for 3D coordinate transformation.
Definition: CrdTransf3d.h:80