escript  Revision_
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
finley Namespace Reference

A suite of factory methods for creating various finley domains. More...

Namespaces

 util
 

Classes

struct  AssembleParameters
 
class  ElementFile
 
struct  ElementFile_Jacobians
 
struct  FaceCenter
 
class  FinleyDomain
 FinleyDomain implements the AbstractContinuousDomain interface for the Finley library. More...
 
class  FinleyException
 
class  NodeFile
 
struct  NodeMapping
 
struct  QuadInfo
 
struct  ReferenceElement
 this struct holds the realization of a reference element More...
 
struct  ReferenceElementInfo
 this struct holds the definition of the reference element More...
 
struct  ReferenceElementSet
 
struct  ShapeFunction
 this struct holds the evaluation of a shape function on a quadrature scheme More...
 
struct  ShapeFunctionInfo
 this struct holds the definition of the shape functions on an element More...
 

Typedefs

typedef std::map< std::string, int > TagMap
 
typedef void() Quad_getNodes(int, std::vector< double > &, std::vector< double > &)
 
typedef int() Quad_getNumNodes(int)
 
typedef int() Quad_getMacro(int numSubElements, int numQuadNodes, const double *quadNodes, const double *quadWeights, int numF, const double *dFdv, int new_len, double *new_quadNodes, double *new_quadWeights, double *new_dFfv)
 
typedef boost::shared_ptr< ReferenceElementReferenceElement_ptr
 
typedef boost::shared_ptr< const ReferenceElementconst_ReferenceElement_ptr
 
typedef boost::shared_ptr< const ReferenceElementSetconst_ReferenceElementSet_ptr
 
typedef void() ShapeFunction_Evaluation(int, std::vector< double > &, std::vector< double > &, std::vector< double > &)
 
typedef boost::shared_ptr< const ShapeFunctionconst_ShapeFunction_ptr
 

Enumerations

enum  {
  DegreesOfFreedom = 1, ReducedDegreesOfFreedom = 2, Nodes = 3, ReducedNodes = 14,
  Elements = 4, ReducedElements = 10, FaceElements = 5, ReducedFaceElements = 11,
  Points = 6, ContactElementsZero = 7, ReducedContactElementsZero = 12, ContactElementsOne = 8,
  ReducedContactElementsOne = 13
}
 
enum  SystemMatrixType { SMT_PASO = 1<<8, SMT_TRILINOS = 1<<10, SMT_COMPLEX = 1<<16, SMT_UNROLL = 1<<17 }
 
enum  QuadTypeId {
  PointQuad, LineQuad, TriQuad, RecQuad,
  TetQuad, HexQuad, NoQuad
}
 
enum  ElementTypeId {
  Point1, Line2, Line3, Line4,
  Tri3, Tri6, Tri9, Tri10,
  Rec4, Rec8, Rec9, Rec12,
  Rec16, Tet4, Tet10, Tet16,
  Hex8, Hex20, Hex27, Hex32,
  Line2Face, Line3Face, Line4Face, Tri3Face,
  Tri6Face, Tri9Face, Tri10Face, Rec4Face,
  Rec8Face, Rec9Face, Rec12Face, Rec16Face,
  Tet4Face, Tet10Face, Tet16Face, Hex8Face,
  Hex20Face, Hex27Face, Hex32Face, Point1_Contact,
  Line2_Contact, Line3_Contact, Line4_Contact, Tri3_Contact,
  Tri6_Contact, Tri9_Contact, Tri10_Contact, Rec4_Contact,
  Rec8_Contact, Rec9_Contact, Rec12_Contact, Rec16_Contact,
  Line2Face_Contact, Line3Face_Contact, Line4Face_Contact, Tri3Face_Contact,
  Tri6Face_Contact, Tri9Face_Contact, Tri10Face_Contact, Rec4Face_Contact,
  Rec8Face_Contact, Rec9Face_Contact, Rec12Face_Contact, Rec16Face_Contact,
  Tet4Face_Contact, Tet10Face_Contact, Tet16Face_Contact, Hex8Face_Contact,
  Hex20Face_Contact, Hex27Face_Contact, Hex32Face_Contact, Line3Macro,
  Tri6Macro, Rec9Macro, Tet10Macro, Hex27Macro,
  NoRef
}
 
enum  ShapeFunctionTypeId {
  Point1Shape, Line2Shape, Line3Shape, Line4Shape,
  Tri3Shape, Tri6Shape, Tri9Shape, Tri10Shape,
  Rec4Shape, Rec8Shape, Rec9Shape, Rec12Shape,
  Rec16Shape, Tet4Shape, Tet10Shape, Tet16Shape,
  Hex8Shape, Hex20Shape, Hex27Shape, Hex32Shape,
  NoShape
}
 

Functions

void Assemble_PDE (const NodeFile *nodes, const ElementFile *elements, escript::ASM_ptr S, escript::Data &F, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
 
template<typename Scalar >
void Assemble_PDE_Points (const AssembleParameters &p, const escript::Data &d_dirac, const escript::Data &y_dirac)
 
void Assemble_PDE_Single_1D (const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
 
template<typename Scalar >
void Assemble_PDE_Single_2D (const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
 
template<typename Scalar >
void Assemble_PDE_Single_3D (const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
 
template<typename Scalar >
void Assemble_PDE_Single_C (const AssembleParameters &p, const escript::Data &D, const escript::Data &Y)
 
void Assemble_PDE_System_1D (const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
 
template<typename Scalar >
void Assemble_PDE_System_2D (const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
 
template<typename Scalar >
void Assemble_PDE_System_3D (const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
 
template<typename Scalar >
void Assemble_PDE_System_C (const AssembleParameters &p, const escript::Data &D, const escript::Data &Y)
 
template<typename Scalar = double>
void Assemble_addToSystemMatrix (escript::ASM_ptr S, int NN_Equa, const index_t *Nodes_Equa, int num_Equa, int NN_Sol, const index_t *Nodes_Sol, int num_Sol, const Scalar *array)
 
void Assemble_LumpedSystem (const NodeFile *nodes, const ElementFile *elements, escript::Data &lumpedMat, const escript::Data &D, bool useHRZ)
 
void Assemble_AverageElementData (const ElementFile *elements, escript::Data &out, const escript::Data &in)
 averages data More...
 
void Assemble_CopyElementData (const ElementFile *elements, escript::Data &out, const escript::Data &in)
 copies data between different types of elements More...
 
void Assemble_CopyNodalData (const NodeFile *nodes, escript::Data &out, const escript::Data &in)
 copies data between different types of nodal representations More...
 
void Assemble_NodeCoordinates (const NodeFile *nodes, escript::Data &x)
 copies node coordinates into expanded Data object x More...
 
void Assemble_getNormal (const NodeFile *nodes, const ElementFile *elements, escript::Data &normals)
 calculates the normal vector at quadrature points on face elements More...
 
void Assemble_getSize (const NodeFile *nodes, const ElementFile *elements, escript::Data &size)
 
void Assemble_gradient (const NodeFile *nodes, const ElementFile *elements, escript::Data &gradient, const escript::Data &data)
 
void Assemble_integrate (const NodeFile *nodes, const ElementFile *elements, const escript::Data &data, double *integrals)
 integrates data on quadrature points More...
 
void Assemble_interpolate (const NodeFile *nodes, const ElementFile *elements, const escript::Data &data, escript::Data &output)
 interpolates nodal data in a data array onto elements (=integration points) More...
 
void Assemble_jacobians_1D (const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
 
void Assemble_jacobians_2D (const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
 
void Assemble_jacobians_2D_M1D_E1D (const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
 
void Assemble_jacobians_2D_M1D_E1D_C (const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
 
void Assemble_jacobians_2D_M1D_E2D (const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
 
void Assemble_jacobians_2D_M1D_E2D_C (const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
 
void Assemble_jacobians_3D (const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
 
void Assemble_jacobians_3D_M2D_E2D (const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
 
void Assemble_jacobians_3D_M2D_E2D_C (const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
 
void Assemble_jacobians_3D_M2D_E3D (const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
 
void Assemble_jacobians_3D_M2D_E3D_C (const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
 
template<>
void Assemble_addToSystemMatrix< real_t > (escript::ASM_ptr S, int NN_Equa, const index_t *Nodes_Equa, int num_Equa, int NN_Sol, const index_t *Nodes_Sol, int num_Sol, const real_t *array)
 
template<>
void Assemble_addToSystemMatrix< cplx_t > (escript::ASM_ptr S, int NN_Equa, const index_t *Nodes_Equa, int num_Equa, int NN_Sol, const index_t *Nodes_Sol, int num_Sol, const cplx_t *array)
 
void setNumSamplesError (const char *c, int n0, int n1)
 
void setShapeError (const char *c, int num, const int *dims)
 
template void Assemble_PDE_Points< escript::DataTypes::real_t > (const AssembleParameters &p, const escript::Data &d, const escript::Data &y)
 
template void Assemble_PDE_Points< escript::DataTypes::cplx_t > (const AssembleParameters &p, const escript::Data &d, const escript::Data &y)
 
template void Assemble_PDE_Single_2D< escript::DataTypes::real_t > (const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
 
template void Assemble_PDE_Single_2D< escript::DataTypes::cplx_t > (const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
 
template void Assemble_PDE_Single_3D< escript::DataTypes::real_t > (const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
 
template void Assemble_PDE_Single_3D< escript::DataTypes::cplx_t > (const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
 
template void Assemble_PDE_Single_C< escript::DataTypes::real_t > (const AssembleParameters &p, const escript::Data &D, const escript::Data &Y)
 
template void Assemble_PDE_Single_C< escript::DataTypes::cplx_t > (const AssembleParameters &p, const escript::Data &D, const escript::Data &Y)
 
template void Assemble_PDE_System_2D< escript::DataTypes::real_t > (const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
 
template void Assemble_PDE_System_2D< escript::DataTypes::cplx_t > (const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
 
template void Assemble_PDE_System_3D< escript::DataTypes::real_t > (const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
 
template void Assemble_PDE_System_3D< escript::DataTypes::cplx_t > (const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
 
template void Assemble_PDE_System_C< escript::DataTypes::real_t > (const AssembleParameters &p, const escript::Data &D, const escript::Data &Y)
 
template void Assemble_PDE_System_C< escript::DataTypes::cplx_t > (const AssembleParameters &p, const escript::Data &D, const escript::Data &Y)
 
void cleanupAndThrow (FinleyDomain *dom, string msg)
 
Domain_ptr readMesh_driver (const bp::list &args)
 
Domain_ptr readGmsh_driver (const bp::list &args)
 
Domain_ptr brick (escript::JMPI jmpi, dim_t n0=1, dim_t n1=1, dim_t n2=1, int order=1, double l0=1.0, double l1=1.0, double l2=1.0, bool periodic0=false, bool periodic1=false, bool periodic2=false, int integrationOrder=-1, int reducedIntegrationOrder=-1, bool useElementsOnFace=false, bool useFullElementOrder=false, bool optimize=false, const std::vector< double > &points=std::vector< double >(), const std::vector< int > &tags=std::vector< int >(), const std::map< std::string, int > &tagNamesToNums=std::map< std::string, int >())
 Creates a rectangular mesh with n0 x n1 x n2 elements over the brick [0,l0] x [0,l1] x [0,l2]. More...
 
Domain_ptr brick_driver (const bp::list &args)
 
Domain_ptr rectangle (escript::JMPI jmpi, dim_t n0=1, dim_t n1=1, int order=1, double l0=1.0, double l1=1.0, bool periodic0=false, bool periodic1=false, int integrationOrder=-1, int reducedIntegrationOrder=-1, bool useElementsOnFace=false, bool useFullElementOrder=false, bool optimize=false, const std::vector< double > &points=std::vector< double >(), const std::vector< int > &tags=std::vector< int >(), const std::map< std::string, int > &tagNamesToNums=std::map< std::string, int >())
 Creates a 2-dimensional rectangular mesh with n0 x n1 elements over the rectangle [0,l0] x [0,l1]. More...
 
Domain_ptr rectangle_driver (const bp::list &args)
 
Domain_ptr meshMerge (const bp::list &meshList)
 
Domain_ptr glueFaces (const bp::list &meshList, double safetyFactor, double tolerance, bool optimize)
 
Domain_ptr joinFaces (const bp::list &meshList, double safetyFactor, double tolerance, bool optimize)
 
escript::Domain_ptr readMesh_driver (const boost::python::list &args)
 Python driver for readMesh() More...
 
escript::Domain_ptr readGmsh_driver (const boost::python::list &args)
 Python driver for readGMesh() More...
 
escript::Domain_ptr brick_driver (const boost::python::list &args)
 Python driver for brick() More...
 
escript::Domain_ptr rectangle_driver (const boost::python::list &args)
 Python driver for rectangle() More...
 
escript::Domain_ptr meshMerge (const boost::python::list &meshList)
 Merges a list of meshes into one list. More...
 
escript::Domain_ptr glueFaces (const boost::python::list &meshList, double safetyFactor=0.2, double tolerance=1.e-8, bool optimize=false)
 Detects matching faces in the mesh, removes them from the mesh and joins the elements touched by the face elements. More...
 
escript::Domain_ptr joinFaces (const boost::python::list &meshList, double safetyFactor=0.2, double tolerance=1.e-8, bool optimize=false)
 Detects matching faces in the mesh and replaces them by joint elements. More...
 
void IndexList_insertElements (IndexList *index_list, ElementFile *elements, bool reduce_row_order, const index_t *row_map, bool reduce_col_order, const index_t *col_map)
 
void IndexList_insertElementsWithRowRangeNoMainDiagonal (IndexList *index_list, index_t firstRow, index_t lastRow, ElementFile *elements, index_t *row_map, index_t *col_map)
 
bool FaceCenterCompare (const FaceCenter &e1, const FaceCenter &e2)
 comparison function for findMatchingFaces More...
 
double getDist (int e0, int i0, int e1, int i1, int numDim, int NN, const double *X)
 
static std::pair< index_t, index_t > getGlobalRange (dim_t n, const index_t *id, escript::JMPI mpiInfo)
 
static void scatterEntries (dim_t n, const index_t *index, index_t min_index, index_t max_index, index_t *Id_out, const index_t *Id_in, int *Tag_out, const int *Tag_in, index_t *globalDegreesOfFreedom_out, const index_t *globalDegreesOfFreedom_in, int numDim, double *Coordinates_out, const double *Coordinates_in)
 
static void gatherEntries (dim_t n, const index_t *index, index_t min_index, index_t max_index, index_t *Id_out, const index_t *Id_in, int *Tag_out, const int *Tag_in, index_t *globalDegreesOfFreedom_out, const index_t *globalDegreesOfFreedom_in, int numDim, double *Coordinates_out, const double *Coordinates_in)
 
const QuadInfoQuadInfo_getInfo (QuadTypeId id)
 
void Quad_getNodesTri (int numQuadNodes, std::vector< double > &quadNodes, std::vector< double > &quadWeights)
 
void Quad_getNodesTet (int numQuadNodes, std::vector< double > &quadNodes, std::vector< double > &quadWeights)
 
void Quad_getNodesRec (int numQuadNodes, std::vector< double > &quadNodes, std::vector< double > &quadWeights)
 
void Quad_getNodesHex (int numQuadNodes, std::vector< double > &quadNodes, std::vector< double > &quadWeights)
 
void Quad_getNodesPoint (int numQuadNodes, std::vector< double > &quadNodes, std::vector< double > &quadWeights)
 
void Quad_getNodesLine (int numQuadNodes, std::vector< double > &quadNodes, std::vector< double > &quadWeights)
 
int Quad_getNumNodesPoint (int order)
 
int Quad_getNumNodesLine (int order)
 
int Quad_getNumNodesTri (int order)
 
int Quad_getNumNodesRec (int order)
 
int Quad_getNumNodesTet (int order)
 
int Quad_getNumNodesHex (int order)
 
int Quad_MacroPoint (int numSubElements, int numQuadNodes, const double *quadNodes, const double *quadWeights, int numF, const double *dFdv, int new_len, double *new_quadNodes, double *new_quadWeights, double *new_dFdv)
 
int Quad_MacroLine (int numSubElements, int numQuadNodes, const double *quadNodes, const double *quadWeights, int numF, const double *dFdv, int new_len, double *new_quadNodes, double *new_quadWeights, double *new_dFdv)
 
int Quad_MacroTri (int numSubElements, int numQuadNodes, const double *quadNodes, const double *quadWeights, int numF, const double *dFdv, int new_len, double *new_quadNodes, double *new_quadWeights, double *new_dFdv)
 
int Quad_MacroRec (int numSubElements, int numQuadNodes, const double *quadNodes, const double *quadWeights, int numF, const double *dFdv, int new_len, double *new_quadNodes, double *new_quadWeights, double *new_dFdv)
 
int Quad_MacroTet (int numSubElements, int numQuadNodes, const double *quadNodes, const double *quadWeights, int numF, const double *dFdv, int new_len, double *new_quadNodes, double *new_quadWeights, double *new_dFdv)
 
int Quad_MacroHex (int numSubElements, int numQuadNodes, const double *quadNodes, const double *quadWeights, int numF, const double *dFdv, int new_len, double *new_quadNodes, double *new_quadWeights, double *new_dFdv)
 
void Quad_makeNodesOnFace (int, int, double *, double *, Quad_getNodes)
 
void Shape_Point1 (int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
 
void Shape_Line2 (int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
 
void Shape_Line3 (int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
 
void Shape_Line4 (int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
 
void Shape_Tri3 (int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
 
void Shape_Tri6 (int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
 
void Shape_Tri9 (int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
 
void Shape_Tri10 (int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
 
void Shape_Rec4 (int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
 
void Shape_Rec8 (int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
 
void Shape_Rec9 (int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
 
void Shape_Rec12 (int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
 
void Shape_Rec16 (int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
 
void Shape_Tet4 (int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
 
void Shape_Tet10 (int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
 
void Shape_Tet16 (int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
 
void Shape_Hex8 (int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
 
void Shape_Hex20 (int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
 
void Shape_Hex27 (int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
 
void Shape_Hex32 (int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
 

Variables

static double lockingGridSize = 0.
 
const QuadInfo QuadInfoList []
 
Quad_getMacro Quad_MacroPoint
 
Quad_getMacro Quad_MacroLine
 
Quad_getMacro Quad_MacroTri
 
Quad_getMacro Quad_MacroRec
 
Quad_getMacro Quad_MacroTet
 
Quad_getMacro Quad_MacroHex
 
Quad_getNodes Quad_getNodesTri
 
Quad_getNodes Quad_getNodesTet
 
Quad_getNodes Quad_getNodesRec
 
Quad_getNodes Quad_getNodesHex
 
Quad_getNodes Quad_getNodesLine
 
Quad_getNodes Quad_getNodesPoint
 
Quad_getNodes Quad_getNodesTriOnFace
 
Quad_getNodes Quad_getNodesRecOnFace
 
Quad_getNodes Quad_getNodesLineOnFace
 
Quad_getNodes Quad_getNodesPointOnFace
 
Quad_getNodes Quad_getNodesTriMacro
 
Quad_getNodes Quad_getNodesTetMacro
 
Quad_getNodes Quad_getNodesRecMacro
 
Quad_getNodes Quad_getNodesHexMacro
 
Quad_getNodes Quad_getNodesLineMacro
 
Quad_getNumNodes Quad_getNumNodesPoint
 
Quad_getNumNodes Quad_getNumNodesLine
 
Quad_getNumNodes Quad_getNumNodesTri
 
Quad_getNumNodes Quad_getNumNodesRec
 
Quad_getNumNodes Quad_getNumNodesTet
 
Quad_getNumNodes Quad_getNumNodesHex
 
const ReferenceElementInfo ReferenceElement_InfoList []
 this list has been generated by generateReferenceElementList.py More...
 
const ShapeFunctionInfo ShapeFunction_InfoList []
 
ShapeFunction_Evaluation Shape_Point1
 
ShapeFunction_Evaluation Shape_Line2
 
ShapeFunction_Evaluation Shape_Line3
 
ShapeFunction_Evaluation Shape_Line4
 
ShapeFunction_Evaluation Shape_Tri3
 
ShapeFunction_Evaluation Shape_Tri6
 
ShapeFunction_Evaluation Shape_Tri9
 
ShapeFunction_Evaluation Shape_Tri10
 
ShapeFunction_Evaluation Shape_Rec4
 
ShapeFunction_Evaluation Shape_Rec8
 
ShapeFunction_Evaluation Shape_Rec9
 
ShapeFunction_Evaluation Shape_Rec12
 
ShapeFunction_Evaluation Shape_Rec16
 
ShapeFunction_Evaluation Shape_Tet4
 
ShapeFunction_Evaluation Shape_Tet10
 
ShapeFunction_Evaluation Shape_Tet16
 
ShapeFunction_Evaluation Shape_Hex8
 
ShapeFunction_Evaluation Shape_Hex20
 
ShapeFunction_Evaluation Shape_Hex27
 
ShapeFunction_Evaluation Shape_Hex32
 

Detailed Description

A suite of factory methods for creating various finley domains.

Some utility routines.

Typedef Documentation

◆ const_ReferenceElement_ptr

typedef boost::shared_ptr<const ReferenceElement> finley::const_ReferenceElement_ptr

◆ const_ReferenceElementSet_ptr

◆ const_ShapeFunction_ptr

typedef boost::shared_ptr<const ShapeFunction> finley::const_ShapeFunction_ptr

◆ Quad_getMacro

typedef int() finley::Quad_getMacro(int numSubElements, int numQuadNodes, const double *quadNodes, const double *quadWeights, int numF, const double *dFdv, int new_len, double *new_quadNodes, double *new_quadWeights, double *new_dFfv)

◆ Quad_getNodes

typedef void() finley::Quad_getNodes(int, std::vector< double > &, std::vector< double > &)

◆ Quad_getNumNodes

typedef int() finley::Quad_getNumNodes(int)

◆ ReferenceElement_ptr

typedef boost::shared_ptr<ReferenceElement> finley::ReferenceElement_ptr

◆ ShapeFunction_Evaluation

typedef void() finley::ShapeFunction_Evaluation(int, std::vector< double > &, std::vector< double > &, std::vector< double > &)

◆ TagMap

typedef std::map<std::string, int> finley::TagMap

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
DegreesOfFreedom 
ReducedDegreesOfFreedom 
Nodes 
ReducedNodes 
Elements 
ReducedElements 
FaceElements 
ReducedFaceElements 
Points 
ContactElementsZero 
ReducedContactElementsZero 
ContactElementsOne 
ReducedContactElementsOne 

◆ ElementTypeId

Enumerator
Point1 
Line2 
Line3 
Line4 
Tri3 
Tri6 
Tri9 
Tri10 
Rec4 
Rec8 
Rec9 
Rec12 
Rec16 
Tet4 
Tet10 
Tet16 
Hex8 
Hex20 
Hex27 
Hex32 
Line2Face 
Line3Face 
Line4Face 
Tri3Face 
Tri6Face 
Tri9Face 
Tri10Face 
Rec4Face 
Rec8Face 
Rec9Face 
Rec12Face 
Rec16Face 
Tet4Face 
Tet10Face 
Tet16Face 
Hex8Face 
Hex20Face 
Hex27Face 
Hex32Face 
Point1_Contact 
Line2_Contact 
Line3_Contact 
Line4_Contact 
Tri3_Contact 
Tri6_Contact 
Tri9_Contact 
Tri10_Contact 
Rec4_Contact 
Rec8_Contact 
Rec9_Contact 
Rec12_Contact 
Rec16_Contact 
Line2Face_Contact 
Line3Face_Contact 
Line4Face_Contact 
Tri3Face_Contact 
Tri6Face_Contact 
Tri9Face_Contact 
Tri10Face_Contact 
Rec4Face_Contact 
Rec8Face_Contact 
Rec9Face_Contact 
Rec12Face_Contact 
Rec16Face_Contact 
Tet4Face_Contact 
Tet10Face_Contact 
Tet16Face_Contact 
Hex8Face_Contact 
Hex20Face_Contact 
Hex27Face_Contact 
Hex32Face_Contact 
Line3Macro 
Tri6Macro 
Rec9Macro 
Tet10Macro 
Hex27Macro 
NoRef 

◆ QuadTypeId

Enumerator
PointQuad 
LineQuad 
TriQuad 
RecQuad 
TetQuad 
HexQuad 
NoQuad 

◆ ShapeFunctionTypeId

Enumerator
Point1Shape 
Line2Shape 
Line3Shape 
Line4Shape 
Tri3Shape 
Tri6Shape 
Tri9Shape 
Tri10Shape 
Rec4Shape 
Rec8Shape 
Rec9Shape 
Rec12Shape 
Rec16Shape 
Tet4Shape 
Tet10Shape 
Tet16Shape 
Hex8Shape 
Hex20Shape 
Hex27Shape 
Hex32Shape 
NoShape 

◆ SystemMatrixType

Enumerator
SMT_PASO 
SMT_TRILINOS 
SMT_COMPLEX 
SMT_UNROLL 

Function Documentation

◆ Assemble_addToSystemMatrix()

template<typename Scalar = double>
void finley::Assemble_addToSystemMatrix ( escript::ASM_ptr  S,
int  NN_Equa,
const index_t *  Nodes_Equa,
int  num_Equa,
int  NN_Sol,
const index_t *  Nodes_Sol,
int  num_Sol,
const Scalar *  array 
)

◆ Assemble_addToSystemMatrix< cplx_t >()

template<>
void finley::Assemble_addToSystemMatrix< cplx_t > ( escript::ASM_ptr  S,
int  NN_Equa,
const index_t *  Nodes_Equa,
int  num_Equa,
int  NN_Sol,
const index_t *  Nodes_Sol,
int  num_Sol,
const cplx_t *  array 
)

◆ Assemble_addToSystemMatrix< real_t >()

template<>
void finley::Assemble_addToSystemMatrix< real_t > ( escript::ASM_ptr  S,
int  NN_Equa,
const index_t *  Nodes_Equa,
int  num_Equa,
int  NN_Sol,
const index_t *  Nodes_Sol,
int  num_Sol,
const real_t *  array 
)

◆ Assemble_AverageElementData()

void finley::Assemble_AverageElementData ( const ElementFile elements,
escript::Data out,
const escript::Data in 
)

◆ Assemble_CopyElementData()

void finley::Assemble_CopyElementData ( const ElementFile elements,
escript::Data out,
const escript::Data in 
)

◆ Assemble_CopyNodalData()

void finley::Assemble_CopyNodalData ( const NodeFile nodes,
escript::Data out,
const escript::Data in 
)

◆ Assemble_getNormal()

void finley::Assemble_getNormal ( const NodeFile nodes,
const ElementFile elements,
escript::Data normals 
)

◆ Assemble_getSize()

void finley::Assemble_getSize ( const NodeFile nodes,
const ElementFile elements,
escript::Data size 
)

◆ Assemble_gradient()

void finley::Assemble_gradient ( const NodeFile nodes,
const ElementFile elements,
escript::Data gradient,
const escript::Data data 
)

◆ Assemble_integrate()

void finley::Assemble_integrate ( const NodeFile nodes,
const ElementFile elements,
const escript::Data data,
double *  integrals 
)

◆ Assemble_interpolate()

void finley::Assemble_interpolate ( const NodeFile nodes,
const ElementFile elements,
const escript::Data data,
escript::Data output 
)

◆ Assemble_jacobians_1D()

void finley::Assemble_jacobians_1D ( const double *  coordinates,
int  numQuad,
const double *  QuadWeights,
int  numShape,
dim_t  numElements,
int  numNodes,
const index_t *  nodes,
const double *  DSDv,
int  numTest,
const double *  DTDv,
double *  dTdX,
double *  volume,
const index_t *  elementId 
)

References DIM, INDEX2, INDEX3, and INDEX4.

Referenced by finley::ElementFile::borrowJacobians().

◆ Assemble_jacobians_2D()

void finley::Assemble_jacobians_2D ( const double *  coordinates,
int  numQuad,
const double *  QuadWeights,
int  numShape,
dim_t  numElements,
int  numNodes,
const index_t *  nodes,
const double *  DSDv,
int  numTest,
const double *  DTDv,
double *  dTdX,
double *  volume,
const index_t *  elementId 
)

References DIM, INDEX2, INDEX3, and INDEX4.

Referenced by finley::ElementFile::borrowJacobians().

◆ Assemble_jacobians_2D_M1D_E1D()

void finley::Assemble_jacobians_2D_M1D_E1D ( const double *  coordinates,
int  numQuad,
const double *  QuadWeights,
int  numShape,
dim_t  numElements,
int  numNodes,
const index_t *  nodes,
const double *  DSDv,
int  numTest,
const double *  DTDv,
double *  dTdX,
double *  volume,
const index_t *  elementId 
)

References DIM, INDEX2, INDEX3, and INDEX4.

Referenced by finley::ElementFile::borrowJacobians().

◆ Assemble_jacobians_2D_M1D_E1D_C()

void finley::Assemble_jacobians_2D_M1D_E1D_C ( const double *  coordinates,
int  numQuad,
const double *  QuadWeights,
int  numShape,
dim_t  numElements,
int  numNodes,
const index_t *  nodes,
const double *  DSDv,
int  numTest,
const double *  DTDv,
double *  dTdX,
double *  volume,
const index_t *  elementId 
)

References DIM, INDEX2, INDEX3, and INDEX4.

Referenced by finley::ElementFile::borrowJacobians().

◆ Assemble_jacobians_2D_M1D_E2D()

void finley::Assemble_jacobians_2D_M1D_E2D ( const double *  coordinates,
int  numQuad,
const double *  QuadWeights,
int  numShape,
dim_t  numElements,
int  numNodes,
const index_t *  nodes,
const double *  DSDv,
int  numTest,
const double *  DTDv,
double *  dTdX,
double *  volume,
const index_t *  elementId 
)

References DIM, INDEX2, INDEX3, and INDEX4.

Referenced by finley::ElementFile::borrowJacobians().

◆ Assemble_jacobians_2D_M1D_E2D_C()

void finley::Assemble_jacobians_2D_M1D_E2D_C ( const double *  coordinates,
int  numQuad,
const double *  QuadWeights,
int  numShape,
dim_t  numElements,
int  numNodes,
const index_t *  nodes,
const double *  DSDv,
int  numTest,
const double *  DTDv,
double *  dTdX,
double *  volume,
const index_t *  elementId 
)

References DIM, INDEX2, INDEX3, and INDEX4.

Referenced by finley::ElementFile::borrowJacobians().

◆ Assemble_jacobians_3D()

void finley::Assemble_jacobians_3D ( const double *  coordinates,
int  numQuad,
const double *  QuadWeights,
int  numShape,
dim_t  numElements,
int  numNodes,
const index_t *  nodes,
const double *  DSDv,
int  numTest,
const double *  DTDv,
double *  dTdX,
double *  volume,
const index_t *  elementId 
)

References DIM, INDEX2, INDEX3, and INDEX4.

Referenced by finley::ElementFile::borrowJacobians().

◆ Assemble_jacobians_3D_M2D_E2D()

void finley::Assemble_jacobians_3D_M2D_E2D ( const double *  coordinates,
int  numQuad,
const double *  QuadWeights,
int  numShape,
dim_t  numElements,
int  numNodes,
const index_t *  nodes,
const double *  DSDv,
int  numTest,
const double *  DTDv,
double *  dTdX,
double *  volume,
const index_t *  elementId 
)

References DIM, INDEX2, INDEX3, and INDEX4.

Referenced by finley::ElementFile::borrowJacobians().

◆ Assemble_jacobians_3D_M2D_E2D_C()

void finley::Assemble_jacobians_3D_M2D_E2D_C ( const double *  coordinates,
int  numQuad,
const double *  QuadWeights,
int  numShape,
dim_t  numElements,
int  numNodes,
const index_t *  nodes,
const double *  DSDv,
int  numTest,
const double *  DTDv,
double *  dTdX,
double *  volume,
const index_t *  elementId 
)

References DIM, INDEX2, INDEX3, and INDEX4.

Referenced by finley::ElementFile::borrowJacobians().

◆ Assemble_jacobians_3D_M2D_E3D()

void finley::Assemble_jacobians_3D_M2D_E3D ( const double *  coordinates,
int  numQuad,
const double *  QuadWeights,
int  numShape,
dim_t  numElements,
int  numNodes,
const index_t *  nodes,
const double *  DSDv,
int  numTest,
const double *  DTDv,
double *  dTdX,
double *  volume,
const index_t *  elementId 
)

References DIM, INDEX2, INDEX3, and INDEX4.

Referenced by finley::ElementFile::borrowJacobians().

◆ Assemble_jacobians_3D_M2D_E3D_C()

void finley::Assemble_jacobians_3D_M2D_E3D_C ( const double *  coordinates,
int  numQuad,
const double *  QuadWeights,
int  numShape,
dim_t  numElements,
int  numNodes,
const index_t *  nodes,
const double *  DSDv,
int  numTest,
const double *  DTDv,
double *  dTdX,
double *  volume,
const index_t *  elementId 
)

References DIM, INDEX2, INDEX3, and INDEX4.

Referenced by finley::ElementFile::borrowJacobians().

◆ Assemble_LumpedSystem()

void finley::Assemble_LumpedSystem ( const NodeFile nodes,
const ElementFile elements,
escript::Data lumpedMat,
const escript::Data D,
bool  useHRZ 
)

◆ Assemble_NodeCoordinates()

void finley::Assemble_NodeCoordinates ( const NodeFile nodes,
escript::Data x 
)

◆ Assemble_PDE()

void finley::Assemble_PDE ( const NodeFile nodes,
const ElementFile elements,
escript::ASM_ptr  S,
escript::Data F,
const escript::Data A,
const escript::Data B,
const escript::Data C,
const escript::Data D,
const escript::Data X,
const escript::Data Y 
)

◆ Assemble_PDE_Points()

template<typename Scalar >
void finley::Assemble_PDE_Points ( const AssembleParameters p,
const escript::Data d_dirac,
const escript::Data y_dirac 
)

◆ Assemble_PDE_Points< escript::DataTypes::cplx_t >()

template void finley::Assemble_PDE_Points< escript::DataTypes::cplx_t > ( const AssembleParameters p,
const escript::Data d,
const escript::Data y 
)

◆ Assemble_PDE_Points< escript::DataTypes::real_t >()

template void finley::Assemble_PDE_Points< escript::DataTypes::real_t > ( const AssembleParameters p,
const escript::Data d,
const escript::Data y 
)

◆ Assemble_PDE_Single_1D()

void finley::Assemble_PDE_Single_1D ( const AssembleParameters p,
const escript::Data A,
const escript::Data B,
const escript::Data C,
const escript::Data D,
const escript::Data X,
const escript::Data Y 
)

◆ Assemble_PDE_Single_2D()

template<typename Scalar >
void finley::Assemble_PDE_Single_2D ( const AssembleParameters p,
const escript::Data A,
const escript::Data B,
const escript::Data C,
const escript::Data D,
const escript::Data X,
const escript::Data Y 
)

◆ Assemble_PDE_Single_2D< escript::DataTypes::cplx_t >()

template void finley::Assemble_PDE_Single_2D< escript::DataTypes::cplx_t > ( const AssembleParameters p,
const escript::Data A,
const escript::Data B,
const escript::Data C,
const escript::Data D,
const escript::Data X,
const escript::Data Y 
)

◆ Assemble_PDE_Single_2D< escript::DataTypes::real_t >()

template void finley::Assemble_PDE_Single_2D< escript::DataTypes::real_t > ( const AssembleParameters p,
const escript::Data A,
const escript::Data B,
const escript::Data C,
const escript::Data D,
const escript::Data X,
const escript::Data Y 
)

◆ Assemble_PDE_Single_3D()

template<typename Scalar >
void finley::Assemble_PDE_Single_3D ( const AssembleParameters p,
const escript::Data A,
const escript::Data B,
const escript::Data C,
const escript::Data D,
const escript::Data X,
const escript::Data Y 
)

◆ Assemble_PDE_Single_3D< escript::DataTypes::cplx_t >()

template void finley::Assemble_PDE_Single_3D< escript::DataTypes::cplx_t > ( const AssembleParameters p,
const escript::Data A,
const escript::Data B,
const escript::Data C,
const escript::Data D,
const escript::Data X,
const escript::Data Y 
)

◆ Assemble_PDE_Single_3D< escript::DataTypes::real_t >()

template void finley::Assemble_PDE_Single_3D< escript::DataTypes::real_t > ( const AssembleParameters p,
const escript::Data A,
const escript::Data B,
const escript::Data C,
const escript::Data D,
const escript::Data X,
const escript::Data Y 
)

◆ Assemble_PDE_Single_C()

template<typename Scalar >
void finley::Assemble_PDE_Single_C ( const AssembleParameters p,
const escript::Data D,
const escript::Data Y 
)

◆ Assemble_PDE_Single_C< escript::DataTypes::cplx_t >()

template void finley::Assemble_PDE_Single_C< escript::DataTypes::cplx_t > ( const AssembleParameters p,
const escript::Data D,
const escript::Data Y 
)

◆ Assemble_PDE_Single_C< escript::DataTypes::real_t >()

template void finley::Assemble_PDE_Single_C< escript::DataTypes::real_t > ( const AssembleParameters p,
const escript::Data D,
const escript::Data Y 
)

◆ Assemble_PDE_System_1D()

void finley::Assemble_PDE_System_1D ( const AssembleParameters p,
const escript::Data A,
const escript::Data B,
const escript::Data C,
const escript::Data D,
const escript::Data X,
const escript::Data Y 
)

◆ Assemble_PDE_System_2D()

template<typename Scalar >
void finley::Assemble_PDE_System_2D ( const AssembleParameters p,
const escript::Data A,
const escript::Data B,
const escript::Data C,
const escript::Data D,
const escript::Data X,
const escript::Data Y 
)

◆ Assemble_PDE_System_2D< escript::DataTypes::cplx_t >()

template void finley::Assemble_PDE_System_2D< escript::DataTypes::cplx_t > ( const AssembleParameters p,
const escript::Data A,
const escript::Data B,
const escript::Data C,
const escript::Data D,
const escript::Data X,
const escript::Data Y 
)

◆ Assemble_PDE_System_2D< escript::DataTypes::real_t >()

template void finley::Assemble_PDE_System_2D< escript::DataTypes::real_t > ( const AssembleParameters p,
const escript::Data A,
const escript::Data B,
const escript::Data C,
const escript::Data D,
const escript::Data X,
const escript::Data Y 
)

◆ Assemble_PDE_System_3D()

template<typename Scalar >
void finley::Assemble_PDE_System_3D ( const AssembleParameters p,
const escript::Data A,
const escript::Data B,
const escript::Data C,
const escript::Data D,
const escript::Data X,
const escript::Data Y 
)

◆ Assemble_PDE_System_3D< escript::DataTypes::cplx_t >()

template void finley::Assemble_PDE_System_3D< escript::DataTypes::cplx_t > ( const AssembleParameters p,
const escript::Data A,
const escript::Data B,
const escript::Data C,
const escript::Data D,
const escript::Data X,
const escript::Data Y 
)

◆ Assemble_PDE_System_3D< escript::DataTypes::real_t >()

template void finley::Assemble_PDE_System_3D< escript::DataTypes::real_t > ( const AssembleParameters p,
const escript::Data A,
const escript::Data B,
const escript::Data C,
const escript::Data D,
const escript::Data X,
const escript::Data Y 
)

◆ Assemble_PDE_System_C()

template<typename Scalar >
void finley::Assemble_PDE_System_C ( const AssembleParameters p,
const escript::Data D,
const escript::Data Y 
)

◆ Assemble_PDE_System_C< escript::DataTypes::cplx_t >()

template void finley::Assemble_PDE_System_C< escript::DataTypes::cplx_t > ( const AssembleParameters p,
const escript::Data D,
const escript::Data Y 
)

◆ Assemble_PDE_System_C< escript::DataTypes::real_t >()

template void finley::Assemble_PDE_System_C< escript::DataTypes::real_t > ( const AssembleParameters p,
const escript::Data D,
const escript::Data Y 
)

◆ brick()

escript::Domain_ptr finley::brick ( escript::JMPI  jmpi,
dim_t  n0 = 1,
dim_t  n1 = 1,
dim_t  n2 = 1,
int  order = 1,
double  l0 = 1.0,
double  l1 = 1.0,
double  l2 = 1.0,
bool  periodic0 = false,
bool  periodic1 = false,
bool  periodic2 = false,
int  integrationOrder = -1,
int  reducedIntegrationOrder = -1,
bool  useElementsOnFace = false,
bool  useFullElementOrder = false,
bool  optimize = false,
const std::vector< double > &  points = std::vector< double >(),
const std::vector< int > &  tags = std::vector< int >(),
const std::map< std::string, int > &  tagNamesToNums = std::map< std::string, int >() 
)

Creates a rectangular mesh with n0 x n1 x n2 elements over the brick [0,l0] x [0,l1] x [0,l2].

Parameters
jmpipointer to MPI world information structure
n0,n1,n2number of elements in each dimension
orderorder of shape functions (1, 2, or -1 for macro elements of order 1)
l0,l1,l2length of each side of brick
periodic0,periodic1,periodic2whether or not boundary conditions of the dimension are periodic
integrationOrderorder of the quadrature scheme. If <0 the order is selected automatically.
reducedIntegrationOrderorder of the reduced quadrature scheme. If <0 the order is selected automatically.
useElementsOnFacewhether or not to use elements on face
useFullElementOrderwhether to use second order elements
optimizewhether to apply optimization of node labels
pointsdirac points to add
tags
tagNamesToNums

References finley::FinleyDomain::addDiracPoints().

Referenced by brick_driver().

◆ brick_driver() [1/2]

escript::Domain_ptr finley::brick_driver ( const boost::python::list &  args)

Python driver for brick()

Parameters
argssee brick() definition for order of params

◆ brick_driver() [2/2]

Domain_ptr finley::brick_driver ( const bp::list &  args)

◆ cleanupAndThrow()

void finley::cleanupAndThrow ( FinleyDomain dom,
string  msg 
)
inline

◆ FaceCenterCompare()

bool finley::FaceCenterCompare ( const FaceCenter e1,
const FaceCenter e2 
)

comparison function for findMatchingFaces

References lockingGridSize, finley::FaceCenter::refId, and finley::FaceCenter::x.

Referenced by finley::FinleyDomain::findMatchingFaces().

◆ gatherEntries()

static void finley::gatherEntries ( dim_t  n,
const index_t *  index,
index_t  min_index,
index_t  max_index,
index_t *  Id_out,
const index_t *  Id_in,
int *  Tag_out,
const int *  Tag_in,
index_t *  globalDegreesOfFreedom_out,
const index_t *  globalDegreesOfFreedom_in,
int  numDim,
double *  Coordinates_out,
const double *  Coordinates_in 
)
static

◆ getDist()

double finley::getDist ( int  e0,
int  i0,
int  e1,
int  i1,
int  numDim,
int  NN,
const double *  X 
)
inline

◆ getGlobalRange()

static std::pair<index_t,index_t> finley::getGlobalRange ( dim_t  n,
const index_t *  id,
escript::JMPI  mpiInfo 
)
static

◆ glueFaces() [1/2]

escript::Domain_ptr finley::glueFaces ( const boost::python::list &  meshList,
double  safetyFactor = 0.2,
double  tolerance = 1.e-8,
bool  optimize = false 
)

Detects matching faces in the mesh, removes them from the mesh and joins the elements touched by the face elements.

Parameters
meshListThe list of meshes.
safetyFactor
tolerance
optimizeswitches on the optimization of node labels

◆ glueFaces() [2/2]

Domain_ptr finley::glueFaces ( const bp::list &  meshList,
double  safetyFactor,
double  tolerance,
bool  optimize 
)

◆ IndexList_insertElements()

void finley::IndexList_insertElements ( IndexList index_list,
ElementFile elements,
bool  reduce_row_order,
const index_t *  row_map,
bool  reduce_col_order,
const index_t *  col_map 
)

◆ IndexList_insertElementsWithRowRangeNoMainDiagonal()

void finley::IndexList_insertElementsWithRowRangeNoMainDiagonal ( IndexList index_list,
index_t  firstRow,
index_t  lastRow,
ElementFile elements,
index_t *  row_map,
index_t *  col_map 
)

◆ joinFaces() [1/2]

escript::Domain_ptr finley::joinFaces ( const boost::python::list &  meshList,
double  safetyFactor = 0.2,
double  tolerance = 1.e-8,
bool  optimize = false 
)

Detects matching faces in the mesh and replaces them by joint elements.

Parameters
meshListThe list of meshes
safetyFactor
tolerance
optimizeswitches on the optimization of node labels

◆ joinFaces() [2/2]

Domain_ptr finley::joinFaces ( const bp::list &  meshList,
double  safetyFactor,
double  tolerance,
bool  optimize 
)

◆ meshMerge() [1/2]

escript::Domain_ptr finley::meshMerge ( const boost::python::list &  meshList)

Merges a list of meshes into one list.

Parameters
meshListInput - The list of meshes.

◆ meshMerge() [2/2]

Domain_ptr finley::meshMerge ( const bp::list &  meshList)

◆ Quad_getNodesHex()

void finley::Quad_getNodesHex ( int  numQuadNodes,
std::vector< double > &  quadNodes,
std::vector< double > &  quadWeights 
)

get a quadrature scheme with numQuadNodes quadrature nodes for the hex [0.1]^3 as a X-product of a 1D scheme

References MAX_numQuadNodesLine, Quad_getNodesLine, QUADNODES, and QUADWEIGHTS.

◆ Quad_getNodesLine()

void finley::Quad_getNodesLine ( int  numQuadNodes,
std::vector< double > &  quadNodes,
std::vector< double > &  quadWeights 
)

get a quadrature scheme with numQuadNodes quadrature nodes on the line [0,1]. The nodes and weights are set from a table

◆ Quad_getNodesPoint()

void finley::Quad_getNodesPoint ( int  numQuadNodes,
std::vector< double > &  quadNodes,
std::vector< double > &  quadWeights 
)

get a quadrature scheme with numQuadNodes quadrature nodes for a point. As there is no quadrature scheme for a point this function returns without changing the arrays but throws an error if numQuadNodes is negative

◆ Quad_getNodesRec()

void finley::Quad_getNodesRec ( int  numQuadNodes,
std::vector< double > &  quadNodes,
std::vector< double > &  quadWeights 
)

get a quadrature scheme with numQuadNodes quadrature nodes for the quad [0.1]^2 as a X-product of a 1D scheme

References MAX_numQuadNodesLine, Quad_getNodesLine, QUADNODES, and QUADWEIGHTS.

◆ Quad_getNodesTet()

void finley::Quad_getNodesTet ( int  numQuadNodes,
std::vector< double > &  quadNodes,
std::vector< double > &  quadWeights 
)

get a quadrature scheme with numQuadNodes quadrature nodes for the tet as a squeezed scheme on a hex [0,1]^3

References Quad_getNodesHex, QUADNODES, and QUADWEIGHTS.

◆ Quad_getNodesTri()

void finley::Quad_getNodesTri ( int  numQuadNodes,
std::vector< double > &  quadNodes,
std::vector< double > &  quadWeights 
)

get a quadrature scheme with numQuadNodes quadrature nodes for the tri as a squeezed scheme on a quad [0,1]^2

References Quad_getNodesRec, QUADNODES, and QUADWEIGHTS.

◆ Quad_getNumNodesHex()

int finley::Quad_getNumNodesHex ( int  order)

References Quad_getNumNodesLine.

◆ Quad_getNumNodesLine()

int finley::Quad_getNumNodesLine ( int  order)

References MAX_numQuadNodesLine.

◆ Quad_getNumNodesPoint()

int finley::Quad_getNumNodesPoint ( int  order)

◆ Quad_getNumNodesRec()

int finley::Quad_getNumNodesRec ( int  order)

References Quad_getNumNodesLine.

◆ Quad_getNumNodesTet()

int finley::Quad_getNumNodesTet ( int  order)

References Quad_getNumNodesLine.

◆ Quad_getNumNodesTri()

int finley::Quad_getNumNodesTri ( int  order)

References Quad_getNumNodesLine.

◆ Quad_MacroHex()

int finley::Quad_MacroHex ( int  numSubElements,
int  numQuadNodes,
const double *  quadNodes,
const double *  quadWeights,
int  numF,
const double *  dFdv,
int  new_len,
double *  new_quadNodes,
double *  new_quadWeights,
double *  new_dFdv 
)

References DIM, HALF, INDEX2, INDEX3, INDEX4, and TWO.

◆ Quad_MacroLine()

int finley::Quad_MacroLine ( int  numSubElements,
int  numQuadNodes,
const double *  quadNodes,
const double *  quadWeights,
int  numF,
const double *  dFdv,
int  new_len,
double *  new_quadNodes,
double *  new_quadWeights,
double *  new_dFdv 
)

References DIM, INDEX2, INDEX3, and INDEX4.

◆ Quad_MacroPoint()

int finley::Quad_MacroPoint ( int  numSubElements,
int  numQuadNodes,
const double *  quadNodes,
const double *  quadWeights,
int  numF,
const double *  dFdv,
int  new_len,
double *  new_quadNodes,
double *  new_quadWeights,
double *  new_dFdv 
)

◆ Quad_MacroRec()

int finley::Quad_MacroRec ( int  numSubElements,
int  numQuadNodes,
const double *  quadNodes,
const double *  quadWeights,
int  numF,
const double *  dFdv,
int  new_len,
double *  new_quadNodes,
double *  new_quadWeights,
double *  new_dFdv 
)

References DIM, HALF, INDEX2, INDEX3, INDEX4, and TWO.

◆ Quad_MacroTet()

int finley::Quad_MacroTet ( int  numSubElements,
int  numQuadNodes,
const double *  quadNodes,
const double *  quadWeights,
int  numF,
const double *  dFdv,
int  new_len,
double *  new_quadNodes,
double *  new_quadWeights,
double *  new_dFdv 
)

References DIM, HALF, INDEX2, INDEX3, INDEX4, and TWO.

◆ Quad_MacroTri()

int finley::Quad_MacroTri ( int  numSubElements,
int  numQuadNodes,
const double *  quadNodes,
const double *  quadWeights,
int  numF,
const double *  dFdv,
int  new_len,
double *  new_quadNodes,
double *  new_quadWeights,
double *  new_dFdv 
)

References DIM, HALF, INDEX2, INDEX3, INDEX4, and TWO.

◆ Quad_makeNodesOnFace()

void finley::Quad_makeNodesOnFace ( int  ,
int  ,
double *  ,
double *  ,
Quad_getNodes   
)

◆ QuadInfo_getInfo()

const QuadInfo * finley::QuadInfo_getInfo ( QuadTypeId  id)

◆ readGmsh_driver() [1/2]

escript::Domain_ptr finley::readGmsh_driver ( const boost::python::list &  args)

Python driver for readGMesh()

Parameters
argssee readGMesh() definition for order of parameters

◆ readGmsh_driver() [2/2]

Domain_ptr finley::readGmsh_driver ( const bp::list &  args)

◆ readMesh_driver() [1/2]

escript::Domain_ptr finley::readMesh_driver ( const boost::python::list &  args)

Python driver for readMesh()

Parameters
argssee readMesh() definition for order of parameters

◆ readMesh_driver() [2/2]

Domain_ptr finley::readMesh_driver ( const bp::list &  args)

◆ rectangle()

escript::Domain_ptr finley::rectangle ( escript::JMPI  jmpi,
dim_t  n0 = 1,
dim_t  n1 = 1,
int  order = 1,
double  l0 = 1.0,
double  l1 = 1.0,
bool  periodic0 = false,
bool  periodic1 = false,
int  integrationOrder = -1,
int  reducedIntegrationOrder = -1,
bool  useElementsOnFace = false,
bool  useFullElementOrder = false,
bool  optimize = false,
const std::vector< double > &  points = std::vector< double >(),
const std::vector< int > &  tags = std::vector< int >(),
const std::map< std::string, int > &  tagNamesToNums = std::map< std::string, int >() 
)

Creates a 2-dimensional rectangular mesh with n0 x n1 elements over the rectangle [0,l0] x [0,l1].

Parameters
jmpipointer to MPI world information structure
n0,n1number of elements in each dimension
orderorder of shape functions (1, 2, or -1 for macro elements of order 1)
l0,l1length of each side of rectangle
periodic0,periodic1whether or not the boundary conditions of the dimension are periodic
integrationOrderorder of the quadrature scheme. If <0 the order is selected automatically.
reducedIntegrationOrderorder of the reduced quadrature scheme. If <0 the order is selected automatically.
useElementsOnFacewhether or not to use elements on face
useFullElementOrder
optimizewhether to optimize labelling
points
tags
tagNamesToNums

References finley::FinleyDomain::addDiracPoints().

Referenced by rectangle_driver().

◆ rectangle_driver() [1/2]

escript::Domain_ptr finley::rectangle_driver ( const boost::python::list &  args)

Python driver for rectangle()

Parameters
argssee rectangle() definition for order of params

◆ rectangle_driver() [2/2]

Domain_ptr finley::rectangle_driver ( const bp::list &  args)

◆ scatterEntries()

static void finley::scatterEntries ( dim_t  n,
const index_t *  index,
index_t  min_index,
index_t  max_index,
index_t *  Id_out,
const index_t *  Id_in,
int *  Tag_out,
const int *  Tag_in,
index_t *  globalDegreesOfFreedom_out,
const index_t *  globalDegreesOfFreedom_in,
int  numDim,
double *  Coordinates_out,
const double *  Coordinates_in 
)
static

◆ setNumSamplesError()

void finley::setNumSamplesError ( const char *  c,
int  n0,
int  n1 
)
inline

Referenced by Assemble_PDE().

◆ setShapeError()

void finley::setShapeError ( const char *  c,
int  num,
const int *  dims 
)
inline

Referenced by Assemble_PDE().

◆ Shape_Hex20()

void finley::Shape_Hex20 ( int  NumV,
std::vector< double > &  v,
std::vector< double > &  s,
std::vector< double > &  dsdv 
)

References DSDV, finley::ShapeFunction::S, and V.

◆ Shape_Hex27()

void finley::Shape_Hex27 ( int  NumV,
std::vector< double > &  v,
std::vector< double > &  s,
std::vector< double > &  dsdv 
)

References DSDV, finley::ShapeFunction::S, and V.

◆ Shape_Hex32()

void finley::Shape_Hex32 ( int  NumV,
std::vector< double > &  v,
std::vector< double > &  s,
std::vector< double > &  dsdv 
)

References DSDV, finley::ShapeFunction::S, and V.

◆ Shape_Hex8()

void finley::Shape_Hex8 ( int  NumV,
std::vector< double > &  v,
std::vector< double > &  s,
std::vector< double > &  dsdv 
)

References DSDV, finley::ShapeFunction::S, and V.

◆ Shape_Line2()

void finley::Shape_Line2 ( int  NumV,
std::vector< double > &  v,
std::vector< double > &  s,
std::vector< double > &  dsdv 
)

References DSDV, finley::ShapeFunction::S, and V.

◆ Shape_Line3()

void finley::Shape_Line3 ( int  NumV,
std::vector< double > &  v,
std::vector< double > &  s,
std::vector< double > &  dsdv 
)

References DSDV, finley::ShapeFunction::S, and V.

◆ Shape_Line4()

void finley::Shape_Line4 ( int  NumV,
std::vector< double > &  v,
std::vector< double > &  s,
std::vector< double > &  dsdv 
)

References DSDV, finley::ShapeFunction::S, and V.

◆ Shape_Point1()

void finley::Shape_Point1 ( int  NumV,
std::vector< double > &  v,
std::vector< double > &  s,
std::vector< double > &  dsdv 
)

◆ Shape_Rec12()

void finley::Shape_Rec12 ( int  NumV,
std::vector< double > &  v,
std::vector< double > &  s,
std::vector< double > &  dsdv 
)

References DSDV, finley::ShapeFunction::S, and V.

◆ Shape_Rec16()

void finley::Shape_Rec16 ( int  NumV,
std::vector< double > &  v,
std::vector< double > &  s,
std::vector< double > &  dsdv 
)

References DSDV, finley::ShapeFunction::S, and V.

◆ Shape_Rec4()

void finley::Shape_Rec4 ( int  NumV,
std::vector< double > &  v,
std::vector< double > &  s,
std::vector< double > &  dsdv 
)

References DSDV, finley::ShapeFunction::S, and V.

◆ Shape_Rec8()

void finley::Shape_Rec8 ( int  NumV,
std::vector< double > &  v,
std::vector< double > &  s,
std::vector< double > &  dsdv 
)

References DSDV, finley::ShapeFunction::S, and V.

◆ Shape_Rec9()

void finley::Shape_Rec9 ( int  NumV,
std::vector< double > &  v,
std::vector< double > &  s,
std::vector< double > &  dsdv 
)

References DSDV, finley::ShapeFunction::S, and V.

◆ Shape_Tet10()

void finley::Shape_Tet10 ( int  NumV,
std::vector< double > &  v,
std::vector< double > &  s,
std::vector< double > &  dsdv 
)

References DSDV, finley::ShapeFunction::S, and V.

◆ Shape_Tet16()

void finley::Shape_Tet16 ( int  NumV,
std::vector< double > &  v,
std::vector< double > &  s,
std::vector< double > &  dsdv 
)

References DSDV, finley::ShapeFunction::S, and V.

◆ Shape_Tet4()

void finley::Shape_Tet4 ( int  NumV,
std::vector< double > &  v,
std::vector< double > &  s,
std::vector< double > &  dsdv 
)

References DSDV, finley::ShapeFunction::S, and V.

◆ Shape_Tri10()

void finley::Shape_Tri10 ( int  NumV,
std::vector< double > &  v,
std::vector< double > &  s,
std::vector< double > &  dsdv 
)

References DSDV, finley::ShapeFunction::S, and V.

◆ Shape_Tri3()

void finley::Shape_Tri3 ( int  NumV,
std::vector< double > &  v,
std::vector< double > &  s,
std::vector< double > &  dsdv 
)

References DSDV, finley::ShapeFunction::S, and V.

◆ Shape_Tri6()

void finley::Shape_Tri6 ( int  NumV,
std::vector< double > &  v,
std::vector< double > &  s,
std::vector< double > &  dsdv 
)

References DSDV, finley::ShapeFunction::S, and V.

◆ Shape_Tri9()

void finley::Shape_Tri9 ( int  NumV,
std::vector< double > &  v,
std::vector< double > &  s,
std::vector< double > &  dsdv 
)

References DSDV, finley::ShapeFunction::S, and V.

Variable Documentation

◆ lockingGridSize

double finley::lockingGridSize = 0.
static

Referenced by FaceCenterCompare().

◆ Quad_getNodesHex

Quad_getNodes finley::Quad_getNodesHex

Referenced by Quad_getNodesTet().

◆ Quad_getNodesHexMacro

Quad_getNodes finley::Quad_getNodesHexMacro

◆ Quad_getNodesLine

Quad_getNodes finley::Quad_getNodesLine

◆ Quad_getNodesLineMacro

Quad_getNodes finley::Quad_getNodesLineMacro

◆ Quad_getNodesLineOnFace

Quad_getNodes finley::Quad_getNodesLineOnFace

◆ Quad_getNodesPoint

Quad_getNodes finley::Quad_getNodesPoint

◆ Quad_getNodesPointOnFace

Quad_getNodes finley::Quad_getNodesPointOnFace

◆ Quad_getNodesRec

Quad_getNodes finley::Quad_getNodesRec

Referenced by Quad_getNodesTri().

◆ Quad_getNodesRecMacro

Quad_getNodes finley::Quad_getNodesRecMacro

◆ Quad_getNodesRecOnFace

Quad_getNodes finley::Quad_getNodesRecOnFace

◆ Quad_getNodesTet

Quad_getNodes finley::Quad_getNodesTet

◆ Quad_getNodesTetMacro

Quad_getNodes finley::Quad_getNodesTetMacro

◆ Quad_getNodesTri

Quad_getNodes finley::Quad_getNodesTri

◆ Quad_getNodesTriMacro

Quad_getNodes finley::Quad_getNodesTriMacro

◆ Quad_getNodesTriOnFace

Quad_getNodes finley::Quad_getNodesTriOnFace

◆ Quad_getNumNodesHex

Quad_getNumNodes finley::Quad_getNumNodesHex

◆ Quad_getNumNodesLine

Quad_getNumNodes finley::Quad_getNumNodesLine

◆ Quad_getNumNodesPoint

Quad_getNumNodes finley::Quad_getNumNodesPoint

◆ Quad_getNumNodesRec

Quad_getNumNodes finley::Quad_getNumNodesRec

◆ Quad_getNumNodesTet

Quad_getNumNodes finley::Quad_getNumNodesTet

◆ Quad_getNumNodesTri

Quad_getNumNodes finley::Quad_getNumNodesTri

◆ Quad_MacroHex

Quad_getMacro finley::Quad_MacroHex

◆ Quad_MacroLine

Quad_getMacro finley::Quad_MacroLine

◆ Quad_MacroPoint

Quad_getMacro finley::Quad_MacroPoint

◆ Quad_MacroRec

Quad_getMacro finley::Quad_MacroRec

◆ Quad_MacroTet

Quad_getMacro finley::Quad_MacroTet

◆ Quad_MacroTri

Quad_getMacro finley::Quad_MacroTri

◆ QuadInfoList

const QuadInfo finley::QuadInfoList[]
Initial value:
= {
{ NoQuad, "NoType", 0, 1, Quad_getNodesPoint, Quad_getNumNodesPoint, Quad_MacroPoint }
}
int Quad_MacroLine(int numSubElements, int numQuadNodes, const double *quadNodes, const double *quadWeights, int numF, const double *dFdv, int new_len, double *new_quadNodes, double *new_quadWeights, double *new_dFdv)
Definition: Quadrature.cpp:1325
int Quad_MacroPoint(int numSubElements, int numQuadNodes, const double *quadNodes, const double *quadWeights, int numF, const double *dFdv, int new_len, double *new_quadNodes, double *new_quadWeights, double *new_dFdv)
Definition: Quadrature.cpp:1316
void Quad_getNodesTri(int numQuadNodes, std::vector< double > &quadNodes, std::vector< double > &quadWeights)
Definition: Quadrature.cpp:62
Definition: Quadrature.h:35
void Quad_getNodesLine(int numQuadNodes, std::vector< double > &quadNodes, std::vector< double > &quadWeights)
Definition: Quadrature.cpp:1079
int Quad_getNumNodesPoint(int order)
Definition: Quadrature.cpp:1233
Definition: Quadrature.h:37
Definition: Quadrature.h:40
int Quad_MacroTet(int numSubElements, int numQuadNodes, const double *quadNodes, const double *quadWeights, int numF, const double *dFdv, int new_len, double *new_quadNodes, double *new_quadWeights, double *new_dFdv)
Definition: Quadrature.cpp:1498
Definition: Quadrature.h:41
void Quad_getNodesPoint(int numQuadNodes, std::vector< double > &quadNodes, std::vector< double > &quadWeights)
Definition: Quadrature.cpp:1070
int Quad_getNumNodesLine(int order)
Definition: Quadrature.cpp:1238
int Quad_getNumNodesTet(int order)
Definition: Quadrature.cpp:1286
int Quad_MacroTri(int numSubElements, int numQuadNodes, const double *quadNodes, const double *quadWeights, int numF, const double *dFdv, int new_len, double *new_quadNodes, double *new_quadWeights, double *new_dFdv)
Definition: Quadrature.cpp:1354
int Quad_getNumNodesRec(int order)
Definition: Quadrature.cpp:1280
int Quad_getNumNodesTri(int order)
Definition: Quadrature.cpp:1254
Definition: Quadrature.h:39
void Quad_getNodesTet(int numQuadNodes, std::vector< double > &quadNodes, std::vector< double > &quadWeights)
Definition: Quadrature.cpp:367
void Quad_getNodesRec(int numQuadNodes, std::vector< double > &quadNodes, std::vector< double > &quadWeights)
Definition: Quadrature.cpp:988
Definition: Quadrature.h:38
Definition: Quadrature.h:36
int Quad_getNumNodesHex(int order)
Definition: Quadrature.cpp:1310
int Quad_MacroRec(int numSubElements, int numQuadNodes, const double *quadNodes, const double *quadWeights, int numF, const double *dFdv, int new_len, double *new_quadNodes, double *new_quadWeights, double *new_dFdv)
Definition: Quadrature.cpp:1426
int Quad_MacroHex(int numSubElements, int numQuadNodes, const double *quadNodes, const double *quadWeights, int numF, const double *dFdv, int new_len, double *new_quadNodes, double *new_quadWeights, double *new_dFdv)
Definition: Quadrature.cpp:1619
void Quad_getNodesHex(int numQuadNodes, std::vector< double > &quadNodes, std::vector< double > &quadWeights)
Definition: Quadrature.cpp:1027

◆ ReferenceElement_InfoList

const ReferenceElementInfo finley::ReferenceElement_InfoList[]

this list has been generated by generateReferenceElementList.py

◆ Shape_Hex20

ShapeFunction_Evaluation finley::Shape_Hex20

◆ Shape_Hex27

ShapeFunction_Evaluation finley::Shape_Hex27

◆ Shape_Hex32

ShapeFunction_Evaluation finley::Shape_Hex32

◆ Shape_Hex8

ShapeFunction_Evaluation finley::Shape_Hex8

◆ Shape_Line2

ShapeFunction_Evaluation finley::Shape_Line2

◆ Shape_Line3

ShapeFunction_Evaluation finley::Shape_Line3

◆ Shape_Line4

ShapeFunction_Evaluation finley::Shape_Line4

◆ Shape_Point1

ShapeFunction_Evaluation finley::Shape_Point1

◆ Shape_Rec12

ShapeFunction_Evaluation finley::Shape_Rec12

◆ Shape_Rec16

ShapeFunction_Evaluation finley::Shape_Rec16

◆ Shape_Rec4

ShapeFunction_Evaluation finley::Shape_Rec4

◆ Shape_Rec8

ShapeFunction_Evaluation finley::Shape_Rec8

◆ Shape_Rec9

ShapeFunction_Evaluation finley::Shape_Rec9

◆ Shape_Tet10

ShapeFunction_Evaluation finley::Shape_Tet10

◆ Shape_Tet16

ShapeFunction_Evaluation finley::Shape_Tet16

◆ Shape_Tet4

ShapeFunction_Evaluation finley::Shape_Tet4

◆ Shape_Tri10

ShapeFunction_Evaluation finley::Shape_Tri10

◆ Shape_Tri3

ShapeFunction_Evaluation finley::Shape_Tri3

◆ Shape_Tri6

ShapeFunction_Evaluation finley::Shape_Tri6

◆ Shape_Tri9

ShapeFunction_Evaluation finley::Shape_Tri9

◆ ShapeFunction_InfoList

const ShapeFunctionInfo finley::ShapeFunction_InfoList[]
Initial value:
= {
{ Point1Shape, "Point1", 0, 1, 1, 1, Shape_Point1 },
{ Line2Shape, "Line2", 1, 2, 1, 2, Shape_Line2 },
{ Line3Shape, "Line3", 1, 3, 2, 2, Shape_Line3 },
{ Line4Shape, "Line4", 1, 4, 3, 2, Shape_Line4 },
{ Tri3Shape, "Tri3", 2, 3, 1, 3, Shape_Tri3 },
{ Tri6Shape, "Tri6", 2, 6, 2, 3, Shape_Tri6 },
{ Tri9Shape, "Tri9", 2, 9, 3, 3, Shape_Tri9 },
{ Tri10Shape, "Tri10", 2, 10, 3, 3, Shape_Tri10, },
{ Rec4Shape, "Rec4", 2, 4, 1, 4, Shape_Rec4, },
{ Rec8Shape, "Rec8", 2, 8, 2, 4, Shape_Rec8, },
{ Rec9Shape, "Rec9", 2, 9, 2, 4, Shape_Rec9, },
{ Rec12Shape, "Rec12", 2, 12, 3, 4, Shape_Rec12, },
{ Rec16Shape, "Rec16", 2, 16, 3, 4, Shape_Rec16, },
{ Tet4Shape, "Tet4", 3, 4, 1, 4, Shape_Tet4, },
{ Tet10Shape, "Tet10", 3, 10, 2, 4, Shape_Tet10, },
{ Tet16Shape, "Tet16", 3, 16, 3, 4, Shape_Tet16, },
{ Hex8Shape, "Hex8", 3, 8, 1, 8, Shape_Hex8, },
{ Hex20Shape, "Hex20", 3, 20, 2, 8, Shape_Hex20, },
{ Hex27Shape, "Hex27", 3, 27, 2, 8, Shape_Hex27, },
{ Hex32Shape, "Hex32", 3, 32, 3, 8, Shape_Hex32, },
{ NoShape, "NoType", 0, 1, 1, 1, Shape_Point1 }
}
void Shape_Point1(int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
Definition: ShapeFunctions.cpp:125
Definition: ShapeFunctions.h:34
void Shape_Tet4(int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
Definition: ShapeFunctions.cpp:552
void Shape_Line4(int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
Definition: ShapeFunctions.cpp:173
void Shape_Hex8(int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
Definition: ShapeFunctions.cpp:725
void Shape_Hex20(int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
Definition: ShapeFunctions.cpp:772
Definition: ShapeFunctions.h:33
void Shape_Tri3(int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
Definition: ShapeFunctions.cpp:194
void Shape_Rec9(int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
Definition: ShapeFunctions.cpp:398
Definition: ShapeFunctions.h:38
Definition: ShapeFunctions.h:44
void Shape_Tri10(int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
Definition: ShapeFunctions.cpp:290
Definition: ShapeFunctions.h:31
Definition: ShapeFunctions.h:49
Definition: ShapeFunctions.h:36
Definition: ShapeFunctions.h:39
Definition: ShapeFunctions.h:46
Definition: ShapeFunctions.h:37
Definition: ShapeFunctions.h:48
void Shape_Hex32(int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
Definition: ShapeFunctions.cpp:990
Definition: ShapeFunctions.h:40
Definition: ShapeFunctions.h:47
void Shape_Rec12(int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
Definition: ShapeFunctions.cpp:440
Definition: ShapeFunctions.h:30
void Shape_Tet16(int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
Definition: ShapeFunctions.cpp:646
Definition: ShapeFunctions.h:50
void Shape_Line2(int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
Definition: ShapeFunctions.cpp:137
void Shape_Rec16(int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
Definition: ShapeFunctions.cpp:490
void Shape_Line3(int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
Definition: ShapeFunctions.cpp:154
void Shape_Hex27(int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
Definition: ShapeFunctions.cpp:867
void Shape_Tri6(int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
Definition: ShapeFunctions.cpp:217
Definition: ShapeFunctions.h:41
void Shape_Rec8(int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
Definition: ShapeFunctions.cpp:360
void Shape_Tri9(int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
Definition: ShapeFunctions.cpp:249
Definition: ShapeFunctions.h:42
void Shape_Tet10(int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
Definition: ShapeFunctions.cpp:583
Definition: ShapeFunctions.h:43
Definition: ShapeFunctions.h:45
Definition: ShapeFunctions.h:32
void Shape_Rec4(int NumV, std::vector< double > &v, std::vector< double > &s, std::vector< double > &dsdv)
Definition: ShapeFunctions.cpp:334
Definition: ShapeFunctions.h:35