#include <ElmDefs.h>
Inheritance diagram for ElmB20n3D::

Public Methods | |
| ElmB20n3D () | |
| ~ElmB20n3D () | |
| virtual bool | canBeInside (const Ptv(real) &globpt, const Mat(real) &coor) const |
| virtual NumItgDomain | getSideShape (int) const |
| virtual void | geomtFunc (Vec(real) &N, const Ptv(real) &loc_pt) const |
| virtual void | basisFunc (Vec(real) &N, const Ptv(real) &loc_pt) const |
| virtual void | dLocGeomtFunc (Mat(real) &dNloc, const Ptv(real) &loc_pt) const |
| virtual void | dLocBasisFunc (Mat(real) &dNloc, const Ptv(real) &loc_pt) const |
| virtual void | d2LocBasisFunc (ArrayGen(real) &d2Nloc, const Ptv(real) &loc_pt) const |
| virtual void | drawElement (const Mat(real) &coor, GraphBasics &plotter, int resolution=1) const |
| virtual void | drawSide (int side, const Mat(real) &coor, GraphBasics &plotter, int resolution=1) const |
| virtual void | drawEdge (int side1, int side2, const Mat(real) &coor, GraphBasics &plotter, int resolution=1) const |
| virtual void | calcMidSideNodes (Mat(real) &coor) |
Static Public Methods | |
| void | shape (Vec(real) &N, const Ptv(real) &loc_pt) |
| void | dshape (Mat(real) &dNloc, const Ptv(real) &loc_pt) |
| void | setUpNodeCoor (MatSimple(real) &geomt_coor_) |
| void | setUpNodesOnSides (MatSimple(int) &geomt_nodes_sides_) |
NAME: ElmB20n3D - definition of 3D quadratic finite element with 20 nodes
DESCRIPTION:
The class is derived from class "ElmDef" and implements the three dimensional 20 node quadratic element.
Most of the operations on this element type are defined through virtual functions or member functions of the base class "ElmDef".
|
|
The only constructor performs all the initialization. |
|
|
|
|
|
calculates the basis (trial) functions over the element. In other words, the routine computes the interpolation functions for functions defined over the element. Functions entering differential equations etc should be interpolated according to these basis functions. The return array "N" can be empty (not ok) at input, the "basisFunc" will redimension the array properly. The length of "N" equals the number of basis function nodes in the element. For isoparametric elements "basisFunc" and "geomtFunc" are identical. However, for mixed finite elements, one may have a bilinear geometry function (four nodes) and, e.g., a constant basis function. The basis function has then only one node (for example in the centroid of the element) and the length of "N" will be 1. Confer subclasses and the FAQ for information on conventions regarding basis function nodes and the ordering. It should be mentioned that class "BasisFuncGrid" is used to assign basis nodes to a grid (class "GridFE" is meant to contain the geometry of the grid, including geometry nodes). Reimplemented from ElmDef. |
|
|
if mid-side nodes are missing, calculate their coordinates by an interpolation scheme that is suited for the element. Reimplemented from ElmDef. |
|
|
returns a true value if a point in the global (physical) coordinate system can be inside the element. The algorithm for detecting whether the point is inside or outside is only approximative. To achieve an exact algorithm, one can use "findLocPt" and then test the local point by using the function "isInside". Reimplemented from ElmDef. |
|
|
the second order derivatives in the local element coordinates of the functions defined by "basisFunc". Reimplemented from ElmDef. |
|
|
the derivatives in the local element coordinates of the functions defined by "basisFunc." As for the "geomtFunc" and "basisFunc" functions the return array can be empty or have wrong dimension at input. The function will redimension the array properly. Reimplemented from ElmDef. |
|
|
the derivatives in the local element coordinates of the functions defined by "geomtFunc." As for the "geomtFunc" and "basisFunc" functions the return array can be empty or have wrong dimension at input. The function will redimension the array properly. Reimplemented from ElmDef. |
|
|
function for drawing the intersection of two specified sides of an element in the global, physical coordinate system. See "drawElement" for comments. Reimplemented from ElmDef. |
|
|
function for drawing an element in the global, physical coordinate system. The drawing consists of geometric primitives (line segments) in the "GraphBasics" format. Note that this function does not flush or close the "GraphBasics" file so the physical file may be incomplete after a call to this function. An explicit call to "GraphBasics close" will complete the file and make it ready for reading. The function is used in drawing routines in class "DrawFE". Reimplemented from ElmDef. |
|
|
function for drawing a specified side of an element in the global, physical coordinate system. See "drawElement" for comments. Reimplemented from ElmDef. |
|
|
evaluates the first derivatives of the basis functions for this element type, given an evaluation point. Primarily for internal use. |
|
|
calculates the geometry functions on the element (see the description above). These functions are used for the isoparametric mapping associated with the element (these functions determine the geometric shape of the element in the global, physical coordinate system). Recall that the geometry functions are defined with respect to the local element coordinate system and the local node numbering of the element. The return array "N" can be empty (not ok) at input; the "geomtFunc" will redimension the array properly. The "N" array contains the values of the geometry functions at the evaluation point. The length of the "N" array equals the number of (geometry) nodes in the element, and the ordering of the entries in "N" follow the ordering of the local nodes Reimplemented from ElmDef. |
|
|
returns the shape of the sides of the element. This is the counterpart to "getDomainShape" for example for numerical integration over the sides. Reimplemented from ElmDef. |
|
|
load the "MatSimple" object with coordinate values for each node in the element. The row index refers to local node numbering, and the column index refers to the spatial direction. |
|
|
similar to the "setUpNodeCoor", this function fills a "MatSimple" object with node numbers for each side. The row index refers to side numbers, and the column index refers to local node numbers. |
|
|
evaluates the basis functions for this element type, given an evaluation point. Primarily for internal use (used by the virtual functions "geomtfunc" and "basisfunc". |