30 #ifndef NLForceBeamColumn3dBase_h 31 #define NLForceBeamColumn3dBase_h 33 #include <domain/mesh/element/truss_beam_column/BeamColumnWithSectionFDTrf3d.h> 34 #include <utility/matrix/Matrix.h> 35 #include <utility/matrix/Vector.h> 36 #include "domain/mesh/element/utils/fvectors/FVectorBeamColumn3d.h" 37 #include "domain/mesh/element/truss_beam_column/EsfBeamColumn3d.h" 38 #include "domain/mesh/element/utils/coordTransformation/CrdTransf3d.h" 49 static const size_t NDM;
53 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);
106 return Secommit.
AN1()+p0[0];
113 return Secommit.
AN2();
120 return -Secommit.
AN1()-p0[0];
127 return Secommit.
AN2();
134 return (-Secommit.
AN1()-p0[0]+Secommit.
AN2())/2.0;
141 return Secommit.
Mz1();
148 return Secommit.
Mz2();
155 return -Secommit.
Mz1();
162 return Secommit.
Mz2();
173 return -Secommit.
Vy(theCoordTransf->getInitialLength());
180 return Secommit.
Vy(theCoordTransf->getInitialLength())+p0[1];
187 return -Secommit.
Vy(theCoordTransf->getInitialLength())+p0[2];
194 return this->
getVy()-p0[1];
201 return p0[2]+this->
getVy();
208 return -Secommit.
Vz(theCoordTransf->getInitialLength());
215 return Secommit.
Vz(theCoordTransf->getInitialLength())+p0[3];
222 return -Secommit.
Vz(theCoordTransf->getInitialLength())+p0[4];
229 return this->
getVz()-p0[3];
236 return p0[4]+this->
getVz();
243 return -Secommit.
My1();
250 return Secommit.
My2();
269 return -Secommit.
T1();
276 return Secommit.
T2();
279 boost::python::list
getValuesAtNodes(
const std::string &,
bool silent=
false)
const;
double Vy(const double &L) const
Returns shear along y axis.
Definition: EsfBeamColumn3d.h:78
Matrix kvcommit
committed stiffness matrix in the basic system
Definition: NLForceBeamColumn3dBase.h:66
const double & T(void) const
Returns the torsor.
Definition: EsfBeamColumn3d.h:96
Float vector abstraction.
Definition: Vector.h:94
double getT2(void) const
Torsor at the front end.
Definition: NLForceBeamColumn3dBase.h:274
double getAVz2(void) const
z shear drived over the bar at its front end.
Definition: NLForceBeamColumn3dBase.h:220
const double & My1(void) const
Returns the moment about y in the back end.
Definition: EsfBeamColumn3d.h:81
const double & Mz2(void) const
Returns the moment about z in the front end.
Definition: EsfBeamColumn3d.h:72
Communication parameters between processes.
Definition: Communicator.h:66
EsfBeamColumn3d Secommit
committed 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
double getMy(void) const
Mean bending moment.
Definition: NLForceBeamColumn3dBase.h:255
FVectorBeamColumn3d p0
Reactions in the basic system due to element loads.
Definition: NLForceBeamColumn3dBase.h:75
double getAMz2(void) const
Moment about z axis drived over the bar at its front end.
Definition: NLForceBeamColumn3dBase.h:146
int sendData(Communicator &comm)
Send members through the communicator argument.
Definition: NLForceBeamColumn3dBase.cc:138
Base class for 3D force beam column elements with PrismaticBarCrossSection type material.
Definition: NLForceBeamColumn3dBase.h:45
Internal forces for a beam column 3D element.
Definition: FVectorBeamColumn3d.h:41
CrdTransf provides the abstraction of a frame coordinate transformation.
Definition: CrdTransf.h:88
Matrix sp
Applied section forces due to element loads, 5 x nSections.
Definition: NLForceBeamColumn3dBase.h:74
double getAN1(void) const
Axial force which acts over the element at its back end.
Definition: NLForceBeamColumn3dBase.h:104
boost::python::list getValuesAtNodes(const std::string &, bool silent=false) const
Return a python list with the values of the argument property at element nodes.
Definition: NLForceBeamColumn3dBase.cc:186
Base class for beam-column cross sections.
Definition: PrismaticBarCrossSection.h:50
double getN1(void) const
Axial force at the front end.
Definition: NLForceBeamColumn3dBase.h:118
double getAVy1(void) const
y shear drived over the bar at its back end.
Definition: NLForceBeamColumn3dBase.h:178
Base class for materials.
Definition: Material.h:93
double tol
tolerance for relative energy norm for local iterations
Definition: NLForceBeamColumn3dBase.h:58
double getMy1(void) const
Moment about y axis at the back end.
Definition: NLForceBeamColumn3dBase.h:241
std::vector< Vector > Ssr
array of section resisting force vectors
Definition: NLForceBeamColumn3dBase.h:71
double Vz(const double &L) const
Returns the shear along z.
Definition: EsfBeamColumn3d.h:93
static const size_t NEBD
number of element dof's in the basic system
Definition: NLForceBeamColumn3dBase.h:52
double getVy2(void) const
y shear at its front end.
Definition: NLForceBeamColumn3dBase.h:199
static const size_t NDM
dimension of the problem (3d)
Definition: NLForceBeamColumn3dBase.h:49
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:50
double getAVy2(void) const
y shear drived over the bar at its front end.
Definition: NLForceBeamColumn3dBase.h:185
std::vector< Vector > vscommit
array of committed section deformation vectors
Definition: NLForceBeamColumn3dBase.h:72
static const size_t NEGD
number of element global dof's
Definition: NLForceBeamColumn3dBase.h:51
double getAVz1(void) const
z shear drived over the bar at its back end.
Definition: NLForceBeamColumn3dBase.h:213
std::vector< Vector > vs
array of section deformation vectors
Definition: NLForceBeamColumn3dBase.h:70
3D beam column internal forces.
Definition: EsfBeamColumn3d.h:46
3D beam colun element with PrismaticBarCrossSection material type.
Definition: BeamColumnWithSectionFDTrf3d.h:66
double getVy(void) const
y shear.
Definition: NLForceBeamColumn3dBase.h:171
double getMz2(void) const
Moment about z axis at its front end.
Definition: NLForceBeamColumn3dBase.h:160
double getT(void) const
Element's torque.
Definition: NLForceBeamColumn3dBase.h:260
int maxIters
maximum number of local iterations
Definition: NLForceBeamColumn3dBase.h:57
double getT1(void) const
Torsor at the back end.
Definition: NLForceBeamColumn3dBase.h:267
double getVz1(void) const
z shear at its back end.
Definition: NLForceBeamColumn3dBase.h:227
double getVy1(void) const
y shear at its back end.
Definition: NLForceBeamColumn3dBase.h:192
double getN(void) const
Mean axial force.
Definition: NLForceBeamColumn3dBase.h:132
double getAMz1(void) const
Moment about z axis drived over the bar at its back end.
Definition: NLForceBeamColumn3dBase.h:139
int initialFlag
indicates if the element has been initialized
Definition: NLForceBeamColumn3dBase.h:60
void resizeMatrices(const size_t &nSections)
Allocate section flexibility matrices and section deformation vectors.
Definition: NLForceBeamColumn3dBase.cc:44
double AN1(void) const
Return the axial force in the back end.
Definition: EsfBeamColumn3d.h:60
double getMy2(void) const
Moment about y axis at the front end.
Definition: NLForceBeamColumn3dBase.h:248
double getMz1(void) const
Moment about z axis at its back end.
Definition: NLForceBeamColumn3dBase.h:153
double getN2(void) const
Axial force at the back end.
Definition: NLForceBeamColumn3dBase.h:125
double AN2(void) const
Return the axial force in the front end.
Definition: EsfBeamColumn3d.h:63
double getVz(void) const
z shear.
Definition: NLForceBeamColumn3dBase.h:206
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
int getNumDOF(void) const
return the number of DOF associated with the element.
Definition: NLForceBeamColumn3dBase.cc:95
Matrix of floats.
Definition: Matrix.h:111
double getAN2(void) const
Axial force which acts over the element at its front end.
Definition: NLForceBeamColumn3dBase.h:111
double T2(void) const
Returns the torsor in the front end.
Definition: EsfBeamColumn3d.h:105
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:66
const double & My2(void) const
Returns the moment about y in the front end.
Definition: EsfBeamColumn3d.h:87
double getMz(void) const
Mean bending moment.
Definition: NLForceBeamColumn3dBase.h:167
double T1(void) const
Returns the torsor in the back end.
Definition: EsfBeamColumn3d.h:102
double getVz2(void) const
z shear at its front end.
Definition: NLForceBeamColumn3dBase.h:234
int recvData(const Communicator &comm)
Receives members through the communicator argument.
Definition: NLForceBeamColumn3dBase.cc:158