29 #ifndef NLForceBeamColumn3dBase_h 30 #define NLForceBeamColumn3dBase_h 32 #include <domain/mesh/element/truss_beam_column/BeamColumnWithSectionFDTrf3d.h> 33 #include <utility/matrix/Matrix.h> 34 #include <utility/matrix/Vector.h> 35 #include "domain/mesh/element/utils/fvectors/FVectorBeamColumn3d.h" 36 #include "domain/mesh/element/truss_beam_column/EsfBeamColumn3d.h" 37 #include "domain/mesh/element/utils/coordTransformation/CrdTransf3d.h" 48 static const size_t NDM;
52 static const double DefaultLoverGJ;
69 std::vector<Matrix>
fs;
70 std::vector<Vector>
vs;
71 std::vector<Vector>
Ssr;
81 static double workArea[];
84 void initializeSectionHistoryVariables(
void);
98 double getRho(
void)
const 100 void setRho(
const double &r)
111 return Secommit.
AN1()+p0[0];
117 return Secommit.
AN2();
123 return -Secommit.
AN1()-p0[0];
129 return Secommit.
AN2();
135 return (-Secommit.
AN1()-p0[0]+Secommit.
AN2())/2.0;
141 return Secommit.
Mz1();
147 return Secommit.
Mz2();
153 return -Secommit.
Mz1();
159 return -Secommit.
Mz2();
164 return Secommit.
Vy(theCoordTransf->getInitialLength());
170 return Secommit.
Vy(theCoordTransf->getInitialLength())+p0[1];
176 return -Secommit.
Vy(theCoordTransf->getInitialLength())+p0[2];
182 return -Secommit.
Vy(theCoordTransf->getInitialLength())-p0[1];
188 return Secommit.
Vy(theCoordTransf->getInitialLength())-p0[2];
194 return Secommit.
Vz(theCoordTransf->getInitialLength());
200 return Secommit.
Vz(theCoordTransf->getInitialLength())+p0[3];
206 return -Secommit.
Vz(theCoordTransf->getInitialLength())+p0[4];
212 return -Secommit.
Vz(theCoordTransf->getInitialLength())-p0[3];
218 return Secommit.
Vz(theCoordTransf->getInitialLength())-p0[4];
224 return Secommit.
My1();
230 return Secommit.
My2();
242 return Secommit.
T1();
248 return Secommit.
T2();
double Vy(const double &L) const
Returns shear along y axis.
Definition: EsfBeamColumn3d.h:77
Matrix kvcommit
commited stiffness matrix in the basic system
Definition: NLForceBeamColumn3dBase.h:66
const double & T(void) const
Returns the torsor.
Definition: EsfBeamColumn3d.h:95
double getVy(void)
y shear.
Definition: NLForceBeamColumn3dBase.h:162
Float vector abstraction.
Definition: Vector.h:93
double getVy1(void)
y shear at its back end.
Definition: NLForceBeamColumn3dBase.h:180
const double & My1(void) const
Returns the moment about y in the back end.
Definition: EsfBeamColumn3d.h:80
const double & Mz2(void) const
Returns the moment about z in the front end.
Definition: EsfBeamColumn3d.h:71
EsfBeamColumn3d Secommit
commited element end forces in the basic system
Definition: NLForceBeamColumn3dBase.h:67
const Vector & getResistingForce(void) const
Returns the resisting force vector for the element.
Definition: NLForceBeamColumn3dBase.cc:111
FVectorBeamColumn3d p0
Reactions in the basic system due to element loads.
Definition: NLForceBeamColumn3dBase.h:75
double getT1(void)
Torsor at the back end.
Definition: NLForceBeamColumn3dBase.h:240
Base clas for 3D force beam column elements with PrismaticBarCrossSection type material.
Definition: NLForceBeamColumn3dBase.h:44
double getAVz2(void)
z shear drived over the bar at its front end.
Definition: NLForceBeamColumn3dBase.h:204
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
Matrix sp
Applied section forces due to element loads, 5 x nSections.
Definition: NLForceBeamColumn3dBase.h:74
Base class for beam-column cross sections.
Definition: PrismaticBarCrossSection.h:50
Base class for materials.
Definition: Material.h:91
double rho
mass density per unit length
Definition: NLForceBeamColumn3dBase.h:56
double getMz1(void)
Moment about z axis at its back end.
Definition: NLForceBeamColumn3dBase.h:151
double tol
tolerance for relative energy norm for local iterations
Definition: NLForceBeamColumn3dBase.h:58
std::vector< Vector > Ssr
array of section resisting force vectors
Definition: NLForceBeamColumn3dBase.h:71
double getAN1(void)
Axial force which acts over the element at its back end.
Definition: NLForceBeamColumn3dBase.h:109
double Vz(const double &L) const
Returns the shear along z.
Definition: EsfBeamColumn3d.h:92
int recvData(const CommParameters &cp)
Receives members through the channel being passed as parameter.
Definition: NLForceBeamColumn3dBase.cc:158
double getAMz2(void)
Moment about z axis drived over the bar at its front end.
Definition: NLForceBeamColumn3dBase.h:145
double getMy1(void)
Moment about y axis at the back end.
Definition: NLForceBeamColumn3dBase.h:222
static const size_t NEBD
number of element dof's in the basic system
Definition: NLForceBeamColumn3dBase.h:51
static const size_t NDM
dimension of the problem (3d)
Definition: NLForceBeamColumn3dBase.h:48
int sendData(CommParameters &cp)
Send members through the channel being passed as parameter.
Definition: NLForceBeamColumn3dBase.cc:138
EsfBeamColumn3d Se
element resisting forces in the basic system
Definition: NLForceBeamColumn3dBase.h:64
static const int NND
number of nodal dof's
Definition: NLForceBeamColumn3dBase.h:49
std::vector< Vector > vscommit
array of commited section deformation vectors
Definition: NLForceBeamColumn3dBase.h:72
static const size_t NEGD
number of element global dof's
Definition: NLForceBeamColumn3dBase.h:50
std::vector< Vector > vs
array of section deformation vectors
Definition: NLForceBeamColumn3dBase.h:70
3D beam column internal forces.
Definition: EsfBeamColumn3d.h:45
3D beam colun element with PrismaticBarCrossSection material type.
Definition: BeamColumnWithSectionFDTrf3d.h:65
double getVz(void)
z shear.
Definition: NLForceBeamColumn3dBase.h:192
double getVy2(void)
y shear at its front end.
Definition: NLForceBeamColumn3dBase.h:186
double getAMz1(void)
Moment about z axis drived over the bar at its back end.
Definition: NLForceBeamColumn3dBase.h:139
double getAN2(void)
Axial force which acts over the element at its front end.
Definition: NLForceBeamColumn3dBase.h:115
double getMy2(void)
Moment about y axis at the front end.
Definition: NLForceBeamColumn3dBase.h:228
double getN(void)
Mean axial force.
Definition: NLForceBeamColumn3dBase.h:133
int maxIters
maximum number of local iterations
Definition: NLForceBeamColumn3dBase.h:57
double getAVz1(void)
z shear drived over the bar at its back end.
Definition: NLForceBeamColumn3dBase.h:198
int initialFlag
indicates if the element has been initialized
Definition: NLForceBeamColumn3dBase.h:60
void resizeMatrices(const size_t &nSections)
alocate section flexibility matrices and section deformation vectors
Definition: NLForceBeamColumn3dBase.cc:44
double getN1(void)
Axial force at the front end.
Definition: NLForceBeamColumn3dBase.h:121
double AN1(void) const
Return the axial force in the back end.
Definition: EsfBeamColumn3d.h:59
double getT2(void)
Torsor at the front end.
Definition: NLForceBeamColumn3dBase.h:246
double getVz2(void)
z shear at its front end.
Definition: NLForceBeamColumn3dBase.h:216
double AN2(void) const
Return the axial force in the front end.
Definition: EsfBeamColumn3d.h:62
double getT(void)
Element's torque.
Definition: NLForceBeamColumn3dBase.h:234
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:34
double getAVy2(void)
y shear drived over the bar at its front end.
Definition: NLForceBeamColumn3dBase.h:174
int getNumDOF(void) const
return the number of DOF associated with the element.
Definition: NLForceBeamColumn3dBase.cc:95
Communication parameters between processes.
Definition: CommParameters.h:65
Matrix of floats.
Definition: Matrix.h:108
double getN2(void)
Axial force at the back end.
Definition: NLForceBeamColumn3dBase.h:127
double T2(void) const
Returns the torsor in the front end.
Definition: EsfBeamColumn3d.h:104
Matrix kv
stiffness matrix in the basic system
Definition: NLForceBeamColumn3dBase.h:63
const Matrix & getTangentStiff(void) const
Return the tangent stiffness matrix.
Definition: NLForceBeamColumn3dBase.cc:99
std::vector< Matrix > fs
array of section flexibility matrices
Definition: NLForceBeamColumn3dBase.h:69
const double & Mz1(void) const
Returns the moment about z in the back end.
Definition: EsfBeamColumn3d.h:65
double getAVy1(void)
y shear drived over the bar at its back end.
Definition: NLForceBeamColumn3dBase.h:168
const double & My2(void) const
Returns the moment about y in the front end.
Definition: EsfBeamColumn3d.h:86
double T1(void) const
Returns the torsor in the back end.
Definition: EsfBeamColumn3d.h:101
double getMz2(void)
Moment about z axis at its front end.
Definition: NLForceBeamColumn3dBase.h:157
double getVz1(void)
z shear at its back end.
Definition: NLForceBeamColumn3dBase.h:210