53 #ifndef TWENTYNODEBRICK_H 54 #define TWENTYNODEBRICK_H 56 #include <domain/mesh/element/ElementBase.h> 57 #include "domain/mesh/element/utils/body_forces/BodyForces3D.h" 97 double determinant_of_Jacobian;
101 int r_integration_order;
102 int s_integration_order;
103 int t_integration_order;
114 void incremental_Update(
void);
117 static BJtensor H_3D(
double r1,
double r2,
double r3);
118 BJtensor interp_poli_at(
double r,
double s,
double t);
124 BJtensor getStiffnessTensor(
void)
const;
126 void set_strain_stress_tensor(FILE *fp,
double * u);
131 BJtensor Nodal_Coordinates(
void)
const;
136 BJtensor total_disp(FILE *fp,
double * u);
142 int get_global_number_of_node(
int local_node_number);
143 int get_Brick_Number(
void);
150 static double get_Gauss_p_c(
short order,
short point_numb);
151 static double get_Gauss_p_w(
short order,
short point_numb);
156 BJtensor iterative_nodal_forces(
void)
const;
161 BJtensor linearized_nodal_forces(
void)
const;
166 void report(
const std::string &);
167 void reportshort(
const std::string &);
168 void reportPAK(
const std::string &);
169 void reportpqtheta(
int);
171 void computeGaussPoint(
void);
172 void reportCIPIC(
const std::string &);
173 void reportTensorF(FILE *);
174 Vector getWeightofGP(
void);
182 int node_numb_1,
int node_numb_2,
int node_numb_3,
int node_numb_4,
183 int node_numb_5,
int node_numb_6,
int node_numb_7,
int node_numb_8,
184 int node_numb_9,
int node_numb_10,
int node_numb_11,
int node_numb_12,
185 int node_numb_13,
int node_numb_14,
int node_numb_15,
int node_numb_16,
186 int node_numb_17,
int node_numb_18,
int node_numb_19,
int node_numb_20,
208 const Matrix &getInitialStiff(
void)
const;
211 const Matrix &getConsMass(
void)
const;
212 const Matrix &getLumpedMass(
void)
const;
217 int addInertiaLoadToUnbalance(
const Vector &accel);
218 const Vector FormEquiBodyForce(
void);
225 void Print(std::ostream &s,
int flag =0)
const;
void setDomain(Domain *theDomain)
Sets the domain for the element.
Definition: TwentyNodeBrick.cpp:2503
int commitState(void)
Commit the current element state.
Definition: TwentyNodeBrick.cpp:2510
Float vector abstraction.
Definition: Vector.h:94
void Print(std::ostream &s, int flag=0) const
Print stuff.
Definition: TwentyNodeBrick.cpp:3344
Stress tensor.
Definition: stresst.h:70
Communication parameters between processes.
Definition: Communicator.h:66
Base class response objects.
Definition: Response.h:81
virtual int sendSelf(Communicator &)
Send the object.
Definition: TwentyNodeBrick.cpp:3329
Boris Jeremic tensor class.
Definition: BJtensor.h:112
int getNumDOF(void) const
return the number of DOF associated with the element.
Definition: TwentyNodeBrick.cpp:2497
Base class for the finite elements.
Definition: Element.h:112
Element * getCopy(void) const
Virtual constructor.
Definition: TwentyNodeBrick.cpp:208
Body forces over an element.
Definition: BodyForces3D.h:40
const Matrix & getMass(void) const
Returns the mass matrix.
Definition: TwentyNodeBrick.cpp:2767
int revertToLastCommit(void)
Revert to the last committed state.
Definition: TwentyNodeBrick.cpp:2640
void alive(void)
Reactivates the element.
Definition: TwentyNodeBrick.cpp:2805
Response * setResponse(const std::vector< std::string > &argv, Information &eleInformation)
setResponse() is a method invoked to determine if the element will respond to a request for a certain...
Definition: TwentyNodeBrick.cpp:3404
int getResponse(int responseID, Information &eleInformation)
Obtain information from an analysis.
Definition: TwentyNodeBrick.cpp:3471
const Matrix & getTangentStiff(void) const
Return the tangent stiffness matrix.
Definition: TwentyNodeBrick.cpp:2690
Twenty node hexahedral element for three-dimensional problems.
Definition: TwentyNodeBrick.h:70
Base class for 2D and 3D materials.
Definition: NDMaterial.h:101
int update(void)
Updates the element state.
Definition: TwentyNodeBrick.cpp:4455
Integration point on three-dimensional space.
Definition: MatPoint3D.h:67
const Vector & getResistingForceIncInertia(void) const
Returns the resisting force vector including inertia forces.
Definition: TwentyNodeBrick.cpp:3212
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
Base class for finite element with pointer to nodes container.
Definition: ElementBase.h:47
static BJtensor dh_drst_at(double r, double s, double t)
Definition: TwentyNodeBrick.cpp:510
Matrix of floats.
Definition: Matrix.h:111
Base class for loads over elements.
Definition: ElementalLoad.h:79
Domain (mesh and boundary conditions) of the finite element model.
Definition: Domain.h:117
const Vector & getResistingForce(void) const
Returns the resisting force vector for the element.
Definition: TwentyNodeBrick.cpp:3188
int revertToStart(void)
Reverts the element to its initial state.
Definition: TwentyNodeBrick.cpp:2665
virtual int recvSelf(const Communicator &)
Receive the object.
Definition: TwentyNodeBrick.cpp:3336