|
Toast++
1.0.2 (r.539)
Forward and inverse modelling in optical tomography
|
Base class for all 3-D structured element types. More...
#include <element.h>
Public Member Functions | |
| Element_Structured_3D (const Element_Structured_3D &el) | |
| virtual int | Dimension (void) const |
| Returns the spatial dimension of the element. More... | |
Public Member Functions inherited from Element_Structured | |
| Element_Structured (const Element_Structured &el) | |
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. | |
| virtual void | Initialise (const NodeList &nlist) |
| Element initialisation. More... | |
| virtual void | PostInitialisation (const NodeList &nlist) |
| Element setup after mesh initialisation. More... | |
| 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 | Size () const =0 |
| Returns the element size. 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 bool | GContains (const Point &glob, const NodeList &nlist) const |
| Checks if a global 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 RSymMatrix | IntDD () const =0 |
| Integrals of all products of two shape function derivatives over the element. More... | |
| virtual double | IntDD (int i, int j) const =0 |
| Integral of a product of two shape function derivatives 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 RSymMatrix | BndIntFF () const =0 |
| Boundary integral of all products of two shape functions over all boundary sides of the element. More... | |
| virtual double | BndIntFF (int i, int j)=0 |
| Boundary integral of a product of two shape functions over all boundary 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 RDenseMatrix | IsotropicElasticityMatrix (double E, double nu) 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 Attributes inherited from Element | |
| bool * | bndside |
| bool | bndel |
| bool | interfaceel |
| int | region |
Base class for all 3-D structured element types.
|
inlinevirtual |
Returns the spatial dimension of the element.
Implements Element.
1.8.6