57 inline unsigned long GetCaps()
const {
return 0; }
58 inline int nNode()
const {
return 8; }
59 inline int nSide()
const {
return 6; }
61 int SideNode (
int side,
int node)
const;
66 {
return Local (glob); }
86 double IntF (
int i)
const;
88 double IntFF (
int i,
int j)
const;
92 double IntFFF (
int i,
int j,
int k)
const;
99 double IntDD (
int i,
int j)
const;
101 double IntFDD (
int i,
int j,
int k)
const;
116 double IntFd (
int i,
int j,
int k)
const;
119 double IntFdd (
int i,
int j,
int k,
int l,
int m)
const;
121 double IntPdd (
const RVector &p,
int j,
int k,
int l,
int m)
const;
125 double IntFfd (
int i,
int j,
int k,
int l)
const;
127 double IntPfd(
const RVector &p,
int j,
int k,
int l)
const;
131 RDenseMatrix ElasticityStiffnessMatrix (
double modulus,
double pratio)
134 int GlobalIntersection (
const NodeList &nlist,
const Point &p1,
136 { ERROR_UNDEF;
return 0; }
138 { ERROR_UNDEF;
return 0; }
141 void ComputeIntFF ()
const;
142 void ComputeIntFFF ()
const;
143 void ComputeIntDD ()
const;
144 void ComputeIntFDD ()
const;
145 void ComputeBndIntFF ()
const;
146 void ComputeBndIntFFF ()
const;
164 static bool need_setup;
int nNode() const
Returns the number of nodes associated with the element.
Definition: vox8.h:58
RVector GlobalShapeF(const NodeList &nlist, const Point &glob) const
Returns the values of the shape functions at a global point.
Definition: vox8.h:81
Templated vector class.
Definition: vector.h:39
Point Local(const NodeList &nlist, const Point &glob) const
Maps a point from global to local element coordinates.
Definition: vox8.h:65
virtual RSymMatrix IntFF() const =0
Integrals of all products of two shape functions over the element.
virtual double IntFdd(int i, int j, int k, int l, int m) const
Integral of the product of a shape function and two partial shape function derivatives over the eleme...
Definition: element.h:850
virtual bool GContains(const Point &glob, const NodeList &nlist) const
Checks if a global point coordinate is inside the element.
virtual double Size() const =0
Returns the element size.
RSymMatrix BndIntFF() const
Boundary integral of all products of two shape functions over all boundary sides of the element...
Definition: vox8.h:107
RVector DirectionCosine(int side, RDenseMatrix &jacin)
Returns the direction cosines of a side normal.
Definition: vox8.h:70
virtual RVector GlobalShapeF(const NodeList &nlist, const Point &glob) const
Returns the values of the shape functions at a global point.
Definition: element.h:490
virtual double IntFFF(int i, int j, int k) const =0
Integral of a product of three shape functions over the element.
Base class for all 3-D structured element types.
Definition: element.h:1211
virtual double BndIntFFSide(int i, int j, int sd)=0
Surface integral of a product of two shape functions over one of the sides of the element...
virtual RDenseMatrix LocalShapeD(const Point &loc) const =0
Returns the values of the shape function derivatives at a local point.
unsigned long GetCaps() const
Returns element capability flags.
Definition: vox8.h:57
virtual double IntFd(int i, int j, int k) const
Integral of the product of a shape function and a partial shape function derivative over the element...
Definition: element.h:810
virtual const RVector & LNormal(int side) const =0
Returns a side normal in local coordinates.
RDenseMatrix GlobalShapeD(const NodeList &nlist, const Point &glob) const
Returns the values of the shape function derivatives at a global point.
Definition: vox8.h:83
virtual RSymMatrix IntPFF(const RVector &P) const =0
Integrals of all products of two shape functions and a nodal function over the element.
virtual RDenseMatrix GlobalShapeD(const NodeList &nlist, const Point &glob) const
Returns the values of the shape function derivatives at a global point.
Definition: element.h:502
RSymMatrix BndIntPFF(const RVector &P) const
Surface integrals of all products of a nodal function and two shape functions over all boundary sides...
Definition: vox8.h:109
virtual RSymMatrix BndIntFF() const =0
Boundary integral of all products of two shape functions over all boundary sides of the element...
virtual RSymMatrix BndIntPFF(const RVector &P) const =0
Surface integrals of all products of a nodal function and two shape functions over all boundary sides...
virtual int nNode() const =0
Returns the number of nodes associated with the element.
int nSide() const
Returns the number of element sides.
Definition: vox8.h:59
Base class for finite element types.
Definition: element.h:84
virtual RSymMatrix IntPDD(const RVector &P) const =0
All integrals of products of a nodal function and two shape function derivatives over the element...
BYTE VtkType() const
Returns the VTK element type identifier, or 0 if the element doesn't have a VTK representation.
Definition: vox8.h:56
int nSideNode(int) const
Returns the number of vertices associated with a side.
Definition: vox8.h:60
virtual double IntF(int i) const =0
Integral of a shape function over the element.
virtual void Initialise(const NodeList &nlist)
Element initialisation.
BYTE Type() const
Returns an element type identifier.
Definition: vox8.h:55
virtual RVector LocalShapeF(const Point &loc) const =0
Returns the values of the shape functions at a local point.
virtual RSymMatrix Intdd() const
Integral of the product of two partial shape function derivatives over the element.
Definition: element.h:836
virtual Element * Copy()=0
Create a copy of the element and return a pointer to it.
Dense matrix class.
Definition: crmatrix.h:38
virtual Point Local(const NodeList &nlist, const Point &glob) const =0
Maps a point from global to local element coordinates.
virtual double IntFDD(int i, int j, int k) const =0
Integral of a product of a shape function and two shape function derivatives over the element...
virtual Point NodeLocal(int node) const =0
Returns the local coordinates of an element node.
virtual void PostInitialisation(const NodeList &nlist)
Element setup after mesh initialisation.
Definition: element.h:129
virtual int SideNode(int side, int node) const =0
Returns relative node index for a side vertex.
virtual RSymMatrix IntDD() const =0
Integrals of all products of two shape function derivatives over the element.
virtual bool LContains(const Point &loc, bool pad=true) const =0
Checks if a local point coordinate is inside the element.
#define ELID_VOX8
8-noded voxel
Definition: element.h:35