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);
102 inline double getTol(
void)
const 103 {
return this->
tol; }
104 inline void setTol(
const double &d)
111 return Secommit.
AN1()+p0[0];
118 return Secommit.
AN2();
125 return -Secommit.
AN1()-p0[0];
132 return Secommit.
AN2();
139 return (-Secommit.
AN1()-p0[0]+Secommit.
AN2())/2.0;
146 return Secommit.
Mz1();
153 return Secommit.
Mz2();
160 return -Secommit.
Mz1();
167 return Secommit.
Mz2();
178 return -Secommit.
Vy(theCoordTransf->getInitialLength());
185 return Secommit.
Vy(theCoordTransf->getInitialLength())+p0[1];
192 return -Secommit.
Vy(theCoordTransf->getInitialLength())+p0[2];
199 return this->
getVy()-p0[1];
206 return p0[2]+this->
getVy();
213 return -Secommit.
Vz(theCoordTransf->getInitialLength());
220 return Secommit.
Vz(theCoordTransf->getInitialLength())+p0[3];
227 return -Secommit.
Vz(theCoordTransf->getInitialLength())+p0[4];
234 return this->
getVz()-p0[3];
241 return p0[4]+this->
getVz();
248 return -Secommit.
My1();
255 return Secommit.
My2();
274 return -Secommit.
T1();
281 return Secommit.
T2();
284 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:279
double getAVz2(void) const
z shear drived over the bar at its front end.
Definition: NLForceBeamColumn3dBase.h:225
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:260
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:151
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:109
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:53
double getN1(void) const
Axial force at the front end.
Definition: NLForceBeamColumn3dBase.h:123
double getAVy1(void) const
y shear drived over the bar at its back end.
Definition: NLForceBeamColumn3dBase.h:183
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:246
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:204
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:190
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:218
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:176
double getMz2(void) const
Moment about z axis at its front end.
Definition: NLForceBeamColumn3dBase.h:165
double getT(void) const
Element's torque.
Definition: NLForceBeamColumn3dBase.h:265
int maxIters
maximum number of local iterations
Definition: NLForceBeamColumn3dBase.h:57
double getT1(void) const
Torsor at the back end.
Definition: NLForceBeamColumn3dBase.h:272
double getVz1(void) const
z shear at its back end.
Definition: NLForceBeamColumn3dBase.h:232
double getVy1(void) const
y shear at its back end.
Definition: NLForceBeamColumn3dBase.h:197
double getN(void) const
Mean axial force.
Definition: NLForceBeamColumn3dBase.h:137
double getAMz1(void) const
Moment about z axis drived over the bar at its back end.
Definition: NLForceBeamColumn3dBase.h:144
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:253
double getMz1(void) const
Moment about z axis at its back end.
Definition: NLForceBeamColumn3dBase.h:158
double getN2(void) const
Axial force at the back end.
Definition: NLForceBeamColumn3dBase.h:130
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:211
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:116
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:172
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:239
int recvData(const Communicator &comm)
Receives members through the communicator argument.
Definition: NLForceBeamColumn3dBase.cc:158