47 int nSide ()
const {
return 3; };
53 int SideNode (
int side,
int node)
const;
98 double IntF (
int i)
const;
104 int QuadRule (
int order,
const double **wght,
const Point **absc)
const;
106 double IntFF (
int i,
int j)
const;
109 double IntFFF (
int i,
int j,
int k)
const;
117 void IntFFF (
double &iii,
double &iij,
double &ijk)
const;
137 double IntFDD (
int i,
int j,
int k)
const
138 {
return intdd.Get(j,k) * 0.3333333333; }
143 {
return intdd * ((P[
Node[0]]+P[
Node[1]]+P[
Node[2]])/3.0); }
150 {
return intdd.Get(i,j) * ((P[
Node[0]]+P[
Node[1]]+P[
Node[2]])/3.0); }
156 {
return intbff * ((P[
Node[0]]+P[
Node[1]]+P[
Node[2]])/3.0); }
161 {
return intbff.Get(i,j) * ((P[
Node[0]]+P[
Node[1]]+P[
Node[2]])/3.0); }
167 RVector BndIntFX (
int side,
double (*func)(
const Point&),
172 double sigma,
double sup,
const NodeList &nlist)
const;
183 int GetLocalSubsampleAbsc (
const Point *&absc)
const;
187 int GetBndSubsampleAbsc (
int side,
const Point *&absc)
const;
192 int GlobalIntersection (
const NodeList &nlist,
const Point &p1,
204 double ComputeSize (
const NodeList &nlist)
const;
211 void ComputeIntFD (
const NodeList &nlist);
230 double *intfd_0, *intfd_1;
233 #ifdef TRI3_STORE_INTFF
240 #ifdef TRI3_STORE_COORDS
241 double n0x, n0y, n1x, n1y, n2x, n2y;
double IntFDD(int i, int j, int k) const
Integral of a product of a shape function and two shape function derivatives over the element...
Definition: tri3old.h:137
RSymMatrix BndIntPFF(const RVector &P) const
Surface integrals of all products of a nodal function and two shape functions over all boundary sides...
Definition: tri3old.h:155
Templated vector class.
Definition: vector.h:39
virtual bool GContains(const Point &glob, const NodeList &nlist) const
Checks if a global point coordinate is inside the element.
#define ELID_TRI3OLD
old-style 3-noded triangle
Definition: element.h:31
virtual RSymMatrix IntFF() const =0
Integrals of all products of two shape functions over the element.
unsigned long GetCaps() const
Returns element capability flags.
Definition: tri3old.h:41
virtual RVector DirectionCosine(int side, RDenseMatrix &jacin)=0
Returns the direction cosines of a side normal.
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.
int nSide() const
Returns the number of element sides.
Definition: tri3old.h:47
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.
virtual const RVector & LNormal(int side) const =0
Returns a side normal in local coordinates.
virtual RSymMatrix IntPFF(const RVector &P) const =0
Integrals of all products of two shape functions and a nodal function over the element.
virtual void Initialise(const NodeList &nlist)
Element initialisation.
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 IntPDD(const RVector &P) const
All integrals of products of a nodal function and two shape function derivatives over the element...
Definition: tri3old.h:142
virtual RVector IntFD(int i, int j) const
Integral of a product of a shape function and a shape function derivative over the element...
Definition: element.h:637
Base class for finite element types.
Definition: element.h:84
double IntPDD(int i, int j, const RVector &P) const
Integrals of a product of a nodal function and two shape function derivatives over the element...
Definition: tri3old.h:149
Base class for all 2-D unstructured element types.
Definition: element.h:1234
virtual double IntF(int i) const =0
Integral of a shape function over the element.
double BndIntPFF(int i, int j, const RVector &P) const
Surface integrals of a product of a nodal function and two shape functions over all boundary sides of...
Definition: tri3old.h:160
virtual double SideSize(int side, const NodeList &nlist) const
Returns the size of an element side.
Definition: element.h:397
virtual RVector LocalShapeF(const Point &loc) const =0
Returns the values of the shape functions at a local point.
virtual Point SurfToLocal(int side, const Point &p) const
Maps a point from surface coordinates to local element coordinates.
Definition: element.h:302
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
int nNode() const
Returns the number of nodes associated with the element.
Definition: tri3old.h:44
virtual Point Local(const NodeList &nlist, const Point &glob) const =0
Maps a point from global to local element coordinates.
int nSideNode(int) const
Returns the number of vertices associated with a side.
Definition: tri3old.h:50
virtual Point NodeLocal(int node) const =0
Returns the local coordinates of an element node.
#define ELCAPS_SUBSAMPLING
element implements IntFFF and IntFDD by subsampling
Definition: element.h:61
BYTE Type() const
Returns an element type identifier.
Definition: tri3old.h:38
virtual int SideNode(int side, int node) const =0
Returns relative node index for a side vertex.
virtual int QuadRule(int order, const double **wght, const Point **absc) const
Returns the weights and abscissae of quadrature rules over the element.
Definition: element.h:521
virtual bool LContains(const Point &loc, bool pad=true) const =0
Checks if a local point coordinate is inside the element.