Toast++
1.0.2 (r.539)
Forward and inverse modelling in optical tomography
|
Base class for all 3-D unstructured element types. More...
#include <element.h>
Public Member Functions | |
Element_Unstructured_3D (const Element_Unstructured_3D &el) | |
virtual int | Dimension (void) const |
Returns the spatial dimension of the element. More... | |
RDenseMatrix | IsotropicElasticityMatrix (double E, double nu) const |
Public Member Functions inherited from Element_Unstructured | |
Element_Unstructured (const Element_Unstructured &el) | |
virtual void | Initialise (const NodeList &nlist) |
Element initialisation. More... | |
virtual void | PostInitialisation (const NodeList &nlist) |
Element setup after mesh initialisation. More... | |
double | Size () const |
Returns the element size. More... | |
void | operator= (const Element_Unstructured &el) |
virtual bool | GContains (const Point &glob, const NodeList &nlist) const |
Checks if a global point coordinate is inside the element. More... | |
RSymMatrix | IntDD () const |
Integrals of all products of two shape function derivatives over the element. More... | |
double | IntDD (int i, int j) const |
Integral of a product of two shape function derivatives over the element. More... | |
RSymMatrix | BndIntFF () const |
Boundary integral of all products of two shape functions over all boundary sides of the element. More... | |
double | BndIntFF (int i, int j) |
Boundary integral of a product of two shape functions over all boundary sides of the element. More... | |
Public Member Functions inherited from Element | |
Element () | |
Creates a new element with no nodes. | |
Element (const Element &el) | |
Creates a new element as a copy of 'el'. | |
virtual | ~Element () |
Destroys the element. | |
virtual Element * | Copy ()=0 |
Create a copy of the element and return a pointer to it. | |
void | operator= (const Element &el) |
Element assignment. More... | |
virtual BYTE | Type () const =0 |
Returns an element type identifier. More... | |
virtual BYTE | VtkType () const |
Returns the VTK element type identifier, or 0 if the element doesn't have a VTK representation. | |
virtual unsigned long | GetCaps () const =0 |
Returns element capability flags. More... | |
virtual int | nNode () const =0 |
Returns the number of nodes associated with the element. More... | |
virtual int | nSide () const =0 |
Returns the number of element sides. More... | |
virtual int | nSideNode (int side) const =0 |
Returns the number of vertices associated with a side. More... | |
virtual int | SideNode (int side, int node) const =0 |
Returns relative node index for a side vertex. More... | |
virtual bool | IsNode (int node) |
Checks if a node is part of the element. More... | |
int | IsSide (int nn, int *nd) |
Checks if a face defined by vertex nodes is part of the element. More... | |
virtual bool | IsSideNode (int side, int node) |
Checks if a node is associated with a specific side. More... | |
bool | IsBoundarySide (int side) |
Checks if a side is on the mesh surface. More... | |
bool | HasBoundarySide () |
Checks if the element contains any surface sides. More... | |
bool | HasInterfaceSide () |
Checks if the element contains any internal interface sides. More... | |
virtual Point | Local (const NodeList &nlist, const Point &glob) const =0 |
Maps a point from global to local element coordinates. More... | |
virtual Point | NodeLocal (int node) const =0 |
Returns the local coordinates of an element node. More... | |
virtual Point | SurfToLocal (int side, const Point &p) const |
Maps a point from surface coordinates to local element coordinates. More... | |
virtual void | MapToSide (int side, Point &loc) const |
Translates a point to an element surface. More... | |
virtual Point | SideCentre (int side) const |
Returns the centre point of a side. More... | |
Element * | SideNeighbour (int side) const |
returns a pointer to the element connected at 'side', or NULL if this is a boundary side. More... | |
int | SideNeighbourIndex (int side) const |
Returns the list index of the element connected at 'side', or -1 if this is a boundary side. More... | |
Point | Global (const NodeList &nlist, const Point &loc) const |
Maps a point from local element coordinates to global coordinates. More... | |
virtual RDenseMatrix | Elgeom (const NodeList &nlist) const |
Returns the element's global node coordinates. More... | |
virtual RVector | DirectionCosine (int side, RDenseMatrix &jacin)=0 |
Returns the direction cosines of a side normal. More... | |
virtual const RVector & | LNormal (int side) const =0 |
Returns a side normal in local coordinates. More... | |
virtual double | SideSize (int side, const NodeList &nlist) const |
Returns the size of an element side. More... | |
virtual double | DetJ (const Point &loc, const NodeList *nlist=0) const |
Returns determinant of Jacobian at a given point inside the element in the local frame. More... | |
virtual bool | LContains (const Point &loc, bool pad=true) const =0 |
Checks if a local point coordinate is inside the element. More... | |
virtual int | BndSideList (const NodeList &nlist, int *list) |
Returns a list of boundary sides. More... | |
void | InitNeighbourSupport () |
void | InitSubdivisionSupport () |
int | SubdivisionLevel () const |
Returns the element's subdivison level. More... | |
virtual void | Subdivide (Mesh *mesh) |
virtual RVector | LocalShapeF (const Point &loc) const =0 |
Returns the values of the shape functions at a local point. More... | |
virtual RDenseMatrix | LocalShapeD (const Point &loc) const =0 |
Returns the values of the shape function derivatives at a local point. More... | |
virtual RVector | GlobalShapeF (const NodeList &nlist, const Point &glob) const |
Returns the values of the shape functions at a global point. More... | |
virtual RDenseMatrix | GlobalShapeD (const NodeList &nlist, const Point &glob) const |
Returns the values of the shape function derivatives at a global point. More... | |
virtual int | QuadRule (int order, const double **wght, const Point **absc) const |
Returns the weights and abscissae of quadrature rules over the element. More... | |
virtual double | IntF (int i) const =0 |
Integral of a shape function over the element. More... | |
virtual RSymMatrix | IntFF () const =0 |
Integrals of all products of two shape functions over the element. More... | |
virtual double | IntFF (int i, int j) const =0 |
Integral of a product of two shape functions over the element. More... | |
virtual double | IntFFF (int i, int j, int k) const =0 |
Integral of a product of three shape functions over the element. More... | |
virtual RSymMatrix | IntPFF (const RVector &P) const =0 |
Integrals of all products of two shape functions and a nodal function over the element. More... | |
virtual double | IntPFF (int i, int j, const RVector &P) const =0 |
Integral of a product of two shape functions and a nodal function over the element. More... | |
virtual RVector | IntFD (int i, int j) const |
Integral of a product of a shape function and a shape function derivative over the element. More... | |
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. More... | |
virtual RSymMatrix | IntPDD (const RVector &P) const =0 |
All integrals of products of a nodal function and two shape function derivatives over the element. More... | |
virtual double | IntPDD (int i, int j, const RVector &P) const =0 |
Integrals of a product of a nodal function and two shape function derivatives over the element. More... | |
virtual RVector | BndIntF () const |
Boundary integral of all shape functions over all boundary sides of the element. More... | |
virtual double | BndIntFSide (int i, int sd) |
Surface integral of a shape function over one of the sides of the element. More... | |
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. More... | |
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 of the element. More... | |
virtual double | BndIntPFF (int i, int j, const RVector &P) const =0 |
Surface integrals of a product of a nodal function and two shape functions over all boundary sides of the element. More... | |
virtual double | Intd (int i, int k) const |
Integral of partial shape function derivative over the element. More... | |
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. More... | |
virtual double | IntPd (const RVector &P, int j, int k) const |
Integral of the product of a nodal function and a partial shape function derivative over the element. More... | |
virtual RSymMatrix | Intdd () const |
Integral of the product of two partial shape function derivatives over the element. More... | |
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 element. More... | |
virtual double | IntPdd (const RVector &p, int j, int k, int l, int m) const |
virtual double | IntFfd (int i, int j, int k, int l) const |
virtual double | IntPfd (const RVector &p, int j, int k, int l) const |
virtual double | IntUnitSphereP (const NodeList &nlist, const RVector &P) const |
virtual double | IntUnitSphereFF (const NodeList &nlist, const int i, const int j) const |
virtual double | IntUnitSpherePFF (const NodeList &nlist, const int i, const int j, const RVector &P) const |
virtual RVector | BndIntFX (int side, double(*func)(const Point &), const NodeList &nlist) const |
virtual RVector | BndIntFCos (int side, const Surface *surf, const RVector &cntcos, double sigma, double sup, const NodeList &nlist) const |
virtual RVector | BndIntFCos (int side, const RVector &cntcos, double a, const NodeList &nlist) const |
virtual RVector | BndIntFDelta (int side, const Surface *surf, const RVector &pos, const NodeList &nlist) const |
int | GetSubsampleFD (int &n, double *&wght, Point *&absc, RVector *&F, RDenseMatrix *&D, const NodeList &nlist) const |
int | GetBndSubsampleFD (int side, int &n, double *&wght, Point *&absc, RVector *&F, RDenseMatrix *&D, const NodeList &nlist) const |
virtual int | GetLocalSubsampleAbsc (const Point *&absc) const |
virtual int | GetBndSubsampleAbsc (int side, const Point *&absc) const |
virtual RDenseMatrix | StrainDisplacementMatrix (const Point &glob) const |
virtual RDenseMatrix | ElasticityStiffnessMatrix (const RDenseMatrix &D) const |
virtual RDenseMatrix | ElasticityStiffnessMatrix (double E, double nu) const |
RDenseMatrix | ElasticStrainDisplacement (const RVector &loc, const RDenseMatrix &gder) const |
virtual RVector | InitialStrainVector (double E, double nu, const RVector &e0) |
virtual RVector | ThermalExpansionVector (double E, double nu, double alpha, double dT) |
virtual RVector | DThermalExpansionVector (double E, double nu) |
virtual int | GlobalIntersection (const NodeList &nlist, const Point &p1, const Point &p2, Point **list)=0 |
virtual int | Intersection (const Point &, const Point &, Point **)=0 |
virtual RDenseMatrix | LocaltoGlobalMat () const |
virtual RDenseMatrix | GlobaltoLocalMat () const |
virtual RDenseMatrix | FTAMat () const |
int | Region () const |
void | SetRegion (int nr) |
virtual void | SplitSide (Mesh *mesh, int side, int newnode, Element *nbr1, Element *nbr2, Element *el1, Element *el2) |
virtual void | Bisect (Mesh *mesh, int side, int newnode, Element *nbr1, Element *nbr2, Element *el1, Element *el2) |
virtual void | MergeAndResplit (Mesh *mesh, int side, int newnode, Element *nbr1, Element *nbr2, Element *el1, Element *el2) |
Additional Inherited Members | |
Public Attributes inherited from Element | |
int * | Node |
ElementSubdivisionData * | subdivdata |
Element ** | sdnbhr |
int * | sdnbhridx |
Protected Member Functions inherited from Element_Unstructured | |
virtual double | ComputeSize (const NodeList &) const =0 |
virtual RSymMatrix | ComputeIntDD (const NodeList &nlist) const =0 |
virtual RSymMatrix | ComputeBndIntFF (const NodeList &nlist) const =0 |
Protected Attributes inherited from Element_Unstructured | |
double | size |
RSymMatrix | intdd |
RSymMatrix | intbff |
Point | bbmin |
Point | bbmax |
Protected Attributes inherited from Element | |
bool * | bndside |
bool | bndel |
bool | interfaceel |
int | region |
Base class for all 3-D unstructured element types.
|
inlinevirtual |
Returns the spatial dimension of the element.
Implements Element.