52 #ifndef TWENTYSEVENNODEBRICK_H 53 #define TWENTYSEVENNODEBRICK_H 55 #include <domain/mesh/element/ElementBase.h> 56 #include "domain/mesh/element/utils/body_forces/BodyForces3D.h" 73 double determinant_of_Jacobian;
77 int r_integration_order;
78 int s_integration_order;
79 int t_integration_order;
84 std::vector<MatPoint3D> matpoint;
109 int node_numb_1,
int node_numb_2,
int node_numb_3,
int node_numb_4,
110 int node_numb_5,
int node_numb_6,
int node_numb_7,
int node_numb_8,
111 int node_numb_9,
int node_numb_10,
int node_numb_11,
int node_numb_12,
112 int node_numb_13,
int node_numb_14,
int node_numb_15,
int node_numb_16,
113 int node_numb_17,
int node_numb_18,
int node_numb_19,
int node_numb_20,
114 int node_numb_21,
int node_numb_22,
int node_numb_23,
int node_numb_24,
115 int node_numb_25,
int node_numb_26,
int node_numb_27,
137 const Matrix &getInitialStiff(
void)
const;
140 const Matrix &getConsMass(
void)
const;
141 const Matrix &getLumpedMass(
void)
const;
145 int addInertiaLoadToUnbalance(
const Vector &accel);
146 const Vector FormEquiBodyForce(
void);
153 void Print(std::ostream &s,
int flag =0);
161 void incremental_Update(
void);
164 static BJtensor H_3D(
double r1,
double r2,
double r3);
165 BJtensor interp_poli_at(
double r,
double s,
double t);
166 static BJtensor dh_drst_at(
double r,
double s,
double t);
183 BJtensor total_disp(FILE *fp,
double * u);
189 int get_global_number_of_node(
int local_node_number);
190 int get_Brick_Number(
void);
197 static double get_Gauss_p_c(
short order,
short point_numb);
198 static double get_Gauss_p_w(
short order,
short point_numb);
203 BJtensor iterative_nodal_forces(
void)
const;
208 BJtensor linearized_nodal_forces(
void)
const;
214 void reportshort(
char *);
215 void reportPAK(
char *);
216 void reportpqtheta(
int);
218 void computeGaussPoint(
void);
219 void reportCIPIC(
char *);
220 void reportTensorF(FILE *);
221 Vector getWeightofGP(
void);
Float vector abstraction.
Definition: Vector.h:93
Twenty seven node hexahedron with lagrangian formulation.
Definition: TwentySevenNodeBrick.h:69
virtual int recvSelf(const CommParameters &)
Receive the object.
Definition: TwentySevenNodeBrick.cpp:3805
void setDomain(Domain *theDomain)
Sets the domain for the element.
Definition: TwentySevenNodeBrick.cpp:2879
Definition: Response.h:71
int commitState()
Commit the current element state.
Definition: TwentySevenNodeBrick.cpp:2886
int revertToLastCommit()
Revert to the last commited state.
Definition: TwentySevenNodeBrick.cpp:3016
Definition: BJtensor.h:110
int getNumDOF(void) const
return the number of DOF associated with the element.
Definition: TwentySevenNodeBrick.cpp:2875
BJtensor Nodal_Coordinates(void) const
Returns the coordinates of the nodes.
Definition: TwentySevenNodeBrick.cpp:1362
BJtensor getMassTensor(void) const
Returns the tensor de masas.
Definition: TwentySevenNodeBrick.cpp:1197
Base class for the finite elements.
Definition: Element.h:109
void set_strain_stress_tensor(FILE *fp, double *u)
Asigna el stiffness tensor.
Definition: TwentySevenNodeBrick.cpp:1108
Body forces over an element.
Definition: BodyForces3D.h:39
virtual int sendSelf(CommParameters &)
Send the object.
Definition: TwentySevenNodeBrick.cpp:3798
const Vector & getResistingForceIncInertia(void) const
Returns the resisting force vector including inertia forces.
Definition: TwentySevenNodeBrick.cpp:3653
BJtensor getStiffnessTensor(void) const
Returns the stiffness tensor.
Definition: TwentySevenNodeBrick.cpp:909
void Print(std::ostream &s, int flag=0)
Print stuff.
Definition: TwentySevenNodeBrick.cpp:3813
int revertToStart()
Reverts the element to its initial state.
Definition: TwentySevenNodeBrick.cpp:3039
const Matrix & getMass(void) const
Returns the mass matrix.
Definition: TwentySevenNodeBrick.cpp:3141
const Matrix & getTangentStiff(void) const
Return the tangent stiffness matrix.
Definition: TwentySevenNodeBrick.cpp:3064
Base class for 2D and 3D materials.
Definition: NDMaterial.h:97
Element * getCopy(void) const
Virtual constructor.
Definition: TwentySevenNodeBrick.cpp:195
int getResponse(int responseID, Information &eleInformation)
Obtain information from an analysis.
Definition: TwentySevenNodeBrick.cpp:3943
const Vector & getResistingForce(void) const
Returns the resisting force vector for the element.
Definition: TwentySevenNodeBrick.cpp:3628
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:34
Base class for finite element with pointer to nodes container.
Definition: ElementBase.h:46
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: TwentySevenNodeBrick.cpp:3881
int update(void)
Updates the element state.
Definition: TwentySevenNodeBrick.cpp:4925
Communication parameters between processes.
Definition: CommParameters.h:65
Matrix of floats.
Definition: Matrix.h:108
BJtensor mass_matrix(const BJtensor &M)
Returns the mass matrix.
Definition: TwentySevenNodeBrick.cpp:1328
Base class for loads over elements.
Definition: ElementalLoad.h:77
BJtensor stiffness_matrix(const BJtensor &K)
Returns the stiffness matrix.
Definition: TwentySevenNodeBrick.cpp:1298
Domain (mesh and boundary conditions) of the finite element model.
Definition: Domain.h:116
TwentySevenNodeBrick(void)
Constructor.
Definition: TwentySevenNodeBrick.cpp:187
~TwentySevenNodeBrick()
Destructor.
Definition: TwentySevenNodeBrick.cpp:199