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

Namespaces

 util
 

Classes

struct  AssembleParameters
 
class  ElementFile
 
struct  ElementFile_Jacobians
 
struct  FaceCenter
 
class  FinleyAdapterException
 FinleyAdapterException exception class. More...
 
class  Mesh
 
class  MeshAdapter
 implements the AbstractContinuousDomain interface for the Finley library. More...
 
class  NodeFile
 
struct  NodeMapping
 
struct  null_deleter
 
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 Esys_ErrorCodeType ErrorCodeType
 
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  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, paso::SystemMatrix_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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
void Assemble_PDE_System_C (const AssembleParameters &p, const escript::Data &D, const escript::Data &Y)
 
void Assemble_addToSystemMatrix (paso::SystemMatrix_ptr S, const int NN_Equa, const index_t *Nodes_Equa, const int num_Equa, const int NN_Sol, const index_t *Nodes_Sol, const int num_Sol, const double *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)
 
void Assemble_CopyElementData (const ElementFile *elements, escript::Data &out, const escript::Data &in)
 
void Assemble_CopyNodalData (const NodeFile *nodes, escript::Data &out, const escript::Data &in)
 
void Assemble_NodeCoordinates (const NodeFile *nodes, escript::Data &out)
 
void Assemble_getNormal (const NodeFile *nodes, const ElementFile *elements, escript::Data &normals)
 
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)
 
void Assemble_interpolate (const NodeFile *nodes, const ElementFile *elements, const escript::Data &data, escript::Data &output)
 
void Assemble_jacobians_1D (const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, dim_t 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, dim_t 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, dim_t 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, dim_t 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, dim_t 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, dim_t 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, dim_t 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, dim_t 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, dim_t 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, dim_t 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, dim_t numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
 
void Assemble_addToSystemMatrix_CSC (paso::SystemMatrix_ptr in, int NN_Equa, const index_t *Nodes_Equa, int num_Equa, int NN_Sol, const index_t *Nodes_Sol, int num_Sol, const double *array)
 
void Assemble_addToSystemMatrix_Trilinos (paso::SystemMatrix_ptr in, int NN_Equa, const index_t *Nodes_Equa, int num_Equa, int NN_Sol, const index_t *Nodes_Sol, int num_Sol, const double *array)
 
void Assemble_addToSystemMatrix_CSR (paso::SystemMatrix_ptr in, int NN_Equa, const index_t *Nodes_Equa, int num_Equa, int NN_Sol, const index_t *Nodes_Sol, int num_Sol, const double *array)
 
void setNumSamplesError (const char *c, int n0, int n1)
 
void setShapeError (const char *c, int num, const int *dims)
 
escript::Domain_ptr brick (esysUtils::JMPI &info, dim_t n0=1, dim_t n1=1, dim_t n2=1, int order=1, double l0=1., double l1=1., double l2=1., 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...
 
escript::Domain_ptr rectangle (esysUtils::JMPI &info, dim_t n0=1, dim_t n1=1, dim_t 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 rectangular mesh with n0 x n1 elements over the brick [0,l0] x [0,l1]. More...
 
void cleanupAndThrow (Mesh *mesh, string msg)
 
Domain_ptr loadMesh (const std::string &fileName)
 A suite of factory methods for creating various MeshAdapters. More...
 
Domain_ptr readMesh (esysUtils::JMPI &info, const std::string &fileName, int integrationOrder, int reducedIntegrationOrder, bool optimize, const std::vector< double > &points, const std::vector< int > &tags)
 
Domain_ptr readMesh_driver (const boost::python::list &args)
 Python driver for readMesh() More...
 
Domain_ptr readGmsh (esysUtils::JMPI &info, const std::string &fileName, int numDim, int integrationOrder, int reducedIntegrationOrder, bool optimize, bool useMacroElements, const std::vector< double > &points, const std::vector< int > &tags)
 
Domain_ptr readGmsh_driver (const boost::python::list &args)
 Python driver for readGMesh() More...
 
Domain_ptr brick_driver (const boost::python::list &args)
 Python driver for brick() More...
 
Domain_ptr meshMerge (const boost::python::list &meshList)
 Merges a list of meshes into one list. More...
 
Domain_ptr rectangle_driver (const boost::python::list &args)
 Python driver for rectangle() More...
 
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...
 
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...
 
escript::Domain_ptr readMesh (const std::string &fileName, int integrationOrder=-1, int reducedIntegrationOrder=-1, bool optimize=false, const std::vector< double > &points=std::vector< double >(), const std::vector< int > &tags=std::vector< int >())
 Read a mesh from a file. For MPI parallel runs fan out the mesh to multiple processes. More...
 
escript::Domain_ptr readGmsh (const std::string &fileName, int numDim, int integrationOrder=-1, int reducedIntegrationOrder=-1, bool optimize=false, bool useMacroElements=false, const std::vector< double > &points=std::vector< double >(), const std::vector< int > &tags=std::vector< int >())
 Read a gmsh mesh file. More...
 
double timer ()
 returns a time mark More...
 
bool checkPtr (void *arg)
 
void resetError ()
 resets the error to NO_ERROR More...
 
void setError (ErrorCodeType err, const char *msg)
 sets an error More...
 
bool noError ()
 checks if there is no error More...
 
ErrorCodeType getErrorType ()
 returns the error code More...
 
char * getErrorMessage (void)
 returns the error message More...
 
void checkFinleyError ()
 
bool MPI_noError (esysUtils::JMPI &mpi_info)
 
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)
 
MeshMesh_merge (const std::vector< Mesh * > &meshes)
 
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)
 
MeshRectangularMesh_Hex20 (const dim_t *numElements, const double *Length, const bool *periodic, int order, int reduced_order, bool useElementsOnFace, bool useFullElementOrder, bool useMacroElements, bool optimize, esysUtils::JMPI &mpiInfo)
 
MeshRectangularMesh_Hex8 (const dim_t *numElements, const double *Length, const bool *periodic, int order, int reduced_order, bool useElementsOnFace, bool useFullElementOrder, bool optimize, esysUtils::JMPI &mpiInfo)
 
char * next_space (char **position, int count)
 
int getSingleElement (FILE *f, int dim, double version, struct ElementInfo &e, char *error_msg, const char *fname, bool useMacroElements)
 
int getElementsMaster (esysUtils::JMPI &mpi_info, Mesh *mesh_p, FILE *fileHandle_p, char *error_msg, bool useMacroElements, const std::string fname, int numDim, double version, int order, int reduced_order)
 
int getElementsSlave (esysUtils::JMPI &mpi_info, Mesh *mesh_p, FILE *fileHandle_p, char *error_msg, bool useMacroElements, const std::string fname, int numDim, double version, int order, int reduced_order)
 
int getElements (esysUtils::JMPI &mpi_info, Mesh *mesh_p, FILE *fileHandle_p, char *error_msg, bool useMacroElements, const std::string fname, int numDim, double version, int order, int reduced_order)
 
int gather_nodes (FILE *f, std::map< int, int > &tags, char *error_msg, int dim, double version, const char *fname)
 
int getNodesMaster (esysUtils::JMPI &mpi_info, Mesh *mesh_p, FILE *fileHandle_p, int numDim, char *error_msg, std::map< int, int > &tags, int errorFlag)
 
int getNodesSlave (esysUtils::JMPI &mpi_info, Mesh *mesh_p, FILE *fileHandle_p, int numDim, char *error_msg, std::map< int, int > &tags, int errorFlag)
 
int getNodes (esysUtils::JMPI &mpi_info, Mesh *mesh_p, FILE *fileHandle_p, int numDim, char *error_msg, std::map< int, int > &tags, int errorFlag)
 
int get_next_state (FILE *f, bool nodesRead, bool elementsRead, int *logicFlag)
 
void recv_state (esysUtils::JMPI &mpi_info, int *error, int *logic)
 
void send_state (esysUtils::JMPI &mpi_info, int error, int logic)
 
int check_error (int error, FILE *f, char *error_msg)
 
MeshRectangularMesh_Rec4 (const dim_t *numElements, const double *Length, const bool *periodic, int order, int reduced_order, bool useElementsOnFace, bool useFullElementOrder, bool optimize, esysUtils::JMPI &mpiInfo)
 
MeshRectangularMesh_Rec8 (const dim_t *numElements, const double *Length, const bool *periodic, int order, int reduced_order, bool useElementsOnFace, bool useFullElementOrder, bool useMacroElements, bool optimize, esysUtils::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
 

Typedef Documentation

typedef boost::shared_ptr<const ReferenceElement> finley::const_ReferenceElement_ptr
typedef boost::shared_ptr<const ShapeFunction> finley::const_ShapeFunction_ptr
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)
typedef void( finley::Quad_getNodes) (int, std::vector< double > &, std::vector< double > &)
typedef int( finley::Quad_getNumNodes) (int)
typedef boost::shared_ptr<ReferenceElement> finley::ReferenceElement_ptr
typedef void( finley::ShapeFunction_Evaluation) (int, std::vector< double > &, std::vector< double > &, std::vector< double > &)
typedef std::map<std::string, int> finley::TagMap

Enumeration Type Documentation

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 
Enumerator
PointQuad 
LineQuad 
TriQuad 
RecQuad 
TetQuad 
HexQuad 
NoQuad 
Enumerator
Point1Shape 
Line2Shape 
Line3Shape 
Line4Shape 
Tri3Shape 
Tri6Shape 
Tri9Shape 
Tri10Shape 
Rec4Shape 
Rec8Shape 
Rec9Shape 
Rec12Shape 
Rec16Shape 
Tet4Shape 
Tet10Shape 
Tet16Shape 
Hex8Shape 
Hex20Shape 
Hex27Shape 
Hex32Shape 
NoShape 

Function Documentation

void finley::Assemble_addToSystemMatrix ( paso::SystemMatrix_ptr  S,
const int  NN_Equa,
const index_t Nodes_Equa,
const int  num_Equa,
const int  NN_Sol,
const index_t Nodes_Sol,
const int  num_Sol,
const double *  array 
)
void finley::Assemble_addToSystemMatrix_CSC ( paso::SystemMatrix_ptr  in,
int  NN_Equa,
const index_t Nodes_Equa,
int  num_Equa,
int  NN_Sol,
const index_t Nodes_Sol,
int  num_Sol,
const double *  array 
)
void finley::Assemble_addToSystemMatrix_CSR ( paso::SystemMatrix_ptr  in,
int  NN_Equa,
const index_t Nodes_Equa,
int  num_Equa,
int  NN_Sol,
const index_t Nodes_Sol,
int  num_Sol,
const double *  array 
)
void finley::Assemble_addToSystemMatrix_Trilinos ( paso::SystemMatrix_ptr  in,
int  NN_Equa,
const index_t Nodes_Equa,
int  num_Equa,
int  NN_Sol,
const index_t Nodes_Sol,
int  num_Sol,
const double *  array 
)
void finley::Assemble_AverageElementData ( const ElementFile elements,
escript::Data out,
const escript::Data in 
)
void finley::Assemble_CopyElementData ( const ElementFile elements,
escript::Data out,
const escript::Data in 
)
void finley::Assemble_CopyNodalData ( const NodeFile nodes,
escript::Data out,
const escript::Data in 
)
void finley::Assemble_getNormal ( const NodeFile nodes,
const ElementFile elements,
escript::Data normals 
)
void finley::Assemble_getSize ( const NodeFile nodes,
const ElementFile elements,
escript::Data size 
)
void finley::Assemble_gradient ( const NodeFile nodes,
const ElementFile elements,
escript::Data gradient,
const escript::Data data 
)
void finley::Assemble_integrate ( const NodeFile nodes,
const ElementFile elements,
const escript::Data data,
double *  integrals 
)
void finley::Assemble_interpolate ( const NodeFile nodes,
const ElementFile elements,
const escript::Data data,
escript::Data output 
)
void finley::Assemble_jacobians_1D ( const double *  coordinates,
int  numQuad,
const double *  QuadWeights,
int  numShape,
dim_t  numElements,
dim_t  numNodes,
const index_t nodes,
const double *  DSDv,
int  numTest,
const double *  DTDv,
double *  dTdX,
double *  volume,
const index_t elementId 
)
void finley::Assemble_jacobians_2D ( const double *  coordinates,
int  numQuad,
const double *  QuadWeights,
int  numShape,
dim_t  numElements,
dim_t  numNodes,
const index_t nodes,
const double *  DSDv,
int  numTest,
const double *  DTDv,
double *  dTdX,
double *  volume,
const index_t elementId 
)
void finley::Assemble_jacobians_2D_M1D_E1D ( const double *  coordinates,
int  numQuad,
const double *  QuadWeights,
int  numShape,
dim_t  numElements,
dim_t  numNodes,
const index_t nodes,
const double *  DSDv,
int  numTest,
const double *  DTDv,
double *  dTdX,
double *  volume,
const index_t elementId 
)
void finley::Assemble_jacobians_2D_M1D_E1D_C ( const double *  coordinates,
int  numQuad,
const double *  QuadWeights,
int  numShape,
dim_t  numElements,
dim_t  numNodes,
const index_t nodes,
const double *  DSDv,
int  numTest,
const double *  DTDv,
double *  dTdX,
double *  volume,
const index_t elementId 
)
void finley::Assemble_jacobians_2D_M1D_E2D ( const double *  coordinates,
int  numQuad,
const double *  QuadWeights,
int  numShape,
dim_t  numElements,
dim_t  numNodes,
const index_t nodes,
const double *  DSDv,
int  numTest,
const double *  DTDv,
double *  dTdX,
double *  volume,
const index_t elementId 
)
void finley::Assemble_jacobians_2D_M1D_E2D_C ( const double *  coordinates,
int  numQuad,
const double *  QuadWeights,
int  numShape,
dim_t  numElements,
dim_t  numNodes,
const index_t nodes,
const double *  DSDv,
int  numTest,
const double *  DTDv,
double *  dTdX,
double *  volume,
const index_t elementId 
)
void finley::Assemble_jacobians_3D ( const double *  coordinates,
int  numQuad,
const double *  QuadWeights,
int  numShape,
dim_t  numElements,
dim_t  numNodes,
const index_t nodes,
const double *  DSDv,
int  numTest,
const double *  DTDv,
double *  dTdX,
double *  volume,
const index_t elementId 
)
void finley::Assemble_jacobians_3D_M2D_E2D ( const double *  coordinates,
int  numQuad,
const double *  QuadWeights,
int  numShape,
dim_t  numElements,
dim_t  numNodes,
const index_t nodes,
const double *  DSDv,
int  numTest,
const double *  DTDv,
double *  dTdX,
double *  volume,
const index_t elementId 
)
void finley::Assemble_jacobians_3D_M2D_E2D_C ( const double *  coordinates,
int  numQuad,
const double *  QuadWeights,
int  numShape,
dim_t  numElements,
dim_t  numNodes,
const index_t nodes,
const double *  DSDv,
int  numTest,
const double *  DTDv,
double *  dTdX,
double *  volume,
const index_t elementId 
)
void finley::Assemble_jacobians_3D_M2D_E3D ( const double *  coordinates,
int  numQuad,
const double *  QuadWeights,
int  numShape,
dim_t  numElements,
dim_t  numNodes,
const index_t nodes,
const double *  DSDv,
int  numTest,
const double *  DTDv,
double *  dTdX,
double *  volume,
const index_t elementId 
)
void finley::Assemble_jacobians_3D_M2D_E3D_C ( const double *  coordinates,
int  numQuad,
const double *  QuadWeights,
int  numShape,
dim_t  numElements,
dim_t  numNodes,
const index_t nodes,
const double *  DSDv,
int  numTest,
const double *  DTDv,
double *  dTdX,
double *  volume,
const index_t elementId 
)
void finley::Assemble_LumpedSystem ( const NodeFile nodes,
const ElementFile elements,
escript::Data lumpedMat,
const escript::Data D,
bool  useHRZ 
)
void finley::Assemble_NodeCoordinates ( const NodeFile nodes,
escript::Data out 
)
void finley::Assemble_PDE ( const NodeFile nodes,
const ElementFile elements,
paso::SystemMatrix_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 
)
void finley::Assemble_PDE_Points ( const AssembleParameters p,
const escript::Data d_dirac,
const escript::Data y_dirac 
)
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 
)
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 
)
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 
)
void finley::Assemble_PDE_Single_C ( const AssembleParameters p,
const escript::Data D,
const escript::Data Y 
)
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 
)
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 
)
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 
)
void finley::Assemble_PDE_System_C ( const AssembleParameters p,
const escript::Data D,
const escript::Data Y 
)
escript::Domain_ptr finley::brick ( esysUtils::JMPI info,
dim_t  n0 = 1,
dim_t  n1 = 1,
dim_t  n2 = 1,
int  order = 1,
double  l0 = 1.,
double  l1 = 1.,
double  l2 = 1.,
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
n0,n1,n2number of elements in each dimension
order=1, =-1 or =2 gives the order of shape function (-1= 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 integrationOrder<0 the integration order is selected independently.
reducedIntegrationOrderorder of the reduced quadrature scheme. If reducedIntegrationOrder<0 the integration order is selected independently.
useElementsOnFacewhether or not to use elements on face
useFullElementOrderwhether to use second order elements
optimizewhether to apply optimization
points
tags
tagNamesToNums

References finley::MeshAdapter::addDiracPoints(), finley::Mesh::addTagMap(), checkFinleyError(), finley::MeshAdapter::getMesh(), finley::Mesh::Points, RectangularMesh_Hex20(), RectangularMesh_Hex8(), and finley::ElementFile::updateTagList().

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

Python driver for brick()

Parameters
argssee brick() definition for order of params

References dudley::brick(), esysUtils::makeInfo(), and MPI_COMM_WORLD.

Referenced by BOOST_PYTHON_MODULE().

int finley::check_error ( int  error,
FILE *  f,
char *  error_msg 
)
void finley::checkFinleyError ( )
bool finley::checkPtr ( void *  arg)

checks if the pointer ptr has a target. If not an error is raised and TRUE is returned.

References Esys_checkPtr().

void finley::cleanupAndThrow ( Mesh mesh,
string  msg 
)
inline

Referenced by loadMesh().

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::Mesh::findMatchingFaces().

int finley::gather_nodes ( FILE *  f,
std::map< int, int > &  tags,
char *  error_msg,
int  dim,
double  version,
const char *  fname 
)
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
int finley::get_next_state ( FILE *  f,
bool  nodesRead,
bool  elementsRead,
int *  logicFlag 
)
double finley::getDist ( int  e0,
int  i0,
int  e1,
int  i1,
int  numDim,
int  NN,
const double *  X 
)
inline

References INDEX3.

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

int finley::getElements ( esysUtils::JMPI mpi_info,
Mesh mesh_p,
FILE *  fileHandle_p,
char *  error_msg,
bool  useMacroElements,
const std::string  fname,
int  numDim,
double  version,
int  order,
int  reduced_order 
)
int finley::getElementsMaster ( esysUtils::JMPI mpi_info,
Mesh mesh_p,
FILE *  fileHandle_p,
char *  error_msg,
bool  useMacroElements,
const std::string  fname,
int  numDim,
double  version,
int  order,
int  reduced_order 
)
int finley::getElementsSlave ( esysUtils::JMPI mpi_info,
Mesh mesh_p,
FILE *  fileHandle_p,
char *  error_msg,
bool  useMacroElements,
const std::string  fname,
int  numDim,
double  version,
int  order,
int  reduced_order 
)
char * finley::getErrorMessage ( void  )

returns the error message

References Esys_getErrorMessage().

Referenced by checkFinleyError().

ErrorCodeType finley::getErrorType ( )

returns the error code

References Esys_getErrorType().

int finley::getNodes ( esysUtils::JMPI mpi_info,
Mesh mesh_p,
FILE *  fileHandle_p,
int  numDim,
char *  error_msg,
std::map< int, int > &  tags,
int  errorFlag 
)
int finley::getNodesMaster ( esysUtils::JMPI mpi_info,
Mesh mesh_p,
FILE *  fileHandle_p,
int  numDim,
char *  error_msg,
std::map< int, int > &  tags,
int  errorFlag 
)
int finley::getNodesSlave ( esysUtils::JMPI mpi_info,
Mesh mesh_p,
FILE *  fileHandle_p,
int  numDim,
char *  error_msg,
std::map< int, int > &  tags,
int  errorFlag 
)
int finley::getSingleElement ( FILE *  f,
int  dim,
double  version,
struct ElementInfo e,
char *  error_msg,
const char *  fname,
bool  useMacroElements 
)
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
meshListInput - The list of meshes.
safetyFactorInput - ??
toleranceInput - ??
optimizeInput - switches on the optimization of node labels

References checkFinleyError(), finley::MeshAdapter::getFinley_Mesh(), finley::Mesh::glueFaces(), and meshMerge().

Referenced by BOOST_PYTHON_MODULE(), and finley::Mesh::getStatus().

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 
)
void finley::IndexList_insertElementsWithRowRangeNoMainDiagonal ( IndexList index_list,
index_t  firstRow,
index_t  lastRow,
ElementFile elements,
index_t row_map,
index_t col_map 
)
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
meshListInput - The list of meshes.
safetyFactorInput - ??
toleranceInput - ??
optimizeInput - switches on the optimization of node labels

References checkFinleyError(), finley::MeshAdapter::getFinley_Mesh(), finley::Mesh::joinFaces(), and meshMerge().

Referenced by BOOST_PYTHON_MODULE(), and finley::Mesh::getStatus().

escript::Domain_ptr finley::loadMesh ( const std::string &  fileName)
Mesh * finley::Mesh_merge ( const std::vector< Mesh * > &  meshes)
escript::Domain_ptr finley::meshMerge ( const boost::python::list &  meshList)

Merges a list of meshes into one list.

Parameters
meshListInput - The list of meshes.

References checkFinleyError(), and Mesh_merge().

Referenced by BOOST_PYTHON_MODULE(), glueFaces(), and joinFaces().

bool finley::MPI_noError ( esysUtils::JMPI mpi_info)
char* finley::next_space ( char **  position,
int  count 
)
bool finley::noError ( )

checks if there is no error

References Esys_noError().

Referenced by finley::Mesh::addPoints(), Assemble_CopyNodalData(), Assemble_getNormal(), Assemble_getSize(), Assemble_gradient(), Assemble_integrate(), Assemble_interpolate(), Assemble_LumpedSystem(), Assemble_PDE(), finley::AssembleParameters::AssembleParameters(), finley::ElementFile::borrowJacobians(), checkFinleyError(), finley::Mesh::createColoring(), finley::NodeFile::createDOFMappingAndCoupling(), finley::Mesh::createMappings(), finley::NodeFile::createNodeMappings(), finley::Mesh::distributeByRankOfDOF(), finley::Mesh::findMatchingFaces(), getElementsMaster(), getElementsSlave(), getNodesMaster(), getNodesSlave(), finley::Mesh::getPattern(), getSingleElement(), finley::Mesh::glueFaces(), finley::Mesh::joinFaces(), loadMesh(), finley::Mesh::makePattern(), Mesh_merge(), finley::Mesh::optimizeDOFLabeling(), finley::Mesh::optimizeElementOrdering(), finley::ElementFile::optimizeOrdering(), finley::Mesh::prepare(), Quad_getNodesHex(), Quad_getNodesRec(), Quad_getNodesTet(), Quad_getNodesTri(), Quad_getNumNodesHex(), Quad_getNumNodesRec(), Quad_getNumNodesTet(), Quad_getNumNodesTri(), finley::Mesh::read(), finley::Mesh::readGmshMaster(), finley::Mesh::readGmshSlave(), RectangularMesh_Hex20(), RectangularMesh_Hex8(), RectangularMesh_Rec4(), RectangularMesh_Rec8(), finley::ReferenceElement::ReferenceElement(), finley::ReferenceElementSet::ReferenceElementSet(), finley::Mesh::resolveNodeIds(), and finley::Mesh::updateTagList().

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, noError(), Quad_getNodesLine, QUADNODES, QUADWEIGHTS, setError(), and VALUE_ERROR.

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

References setError(), and VALUE_ERROR.

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

References setError(), and VALUE_ERROR.

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, noError(), Quad_getNodesLine, QUADNODES, QUADWEIGHTS, setError(), and VALUE_ERROR.

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 ABS, noError(), Quad_getNodesHex, QUADNODES, and QUADWEIGHTS.

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 noError(), Quad_getNodesRec, QUADNODES, and QUADWEIGHTS.

int finley::Quad_getNumNodesHex ( int  order)

References noError(), and Quad_getNumNodesLine.

int finley::Quad_getNumNodesLine ( int  order)
int finley::Quad_getNumNodesPoint ( int  order)
int finley::Quad_getNumNodesRec ( int  order)

References noError(), and Quad_getNumNodesLine.

int finley::Quad_getNumNodesTet ( int  order)

References noError(), and Quad_getNumNodesLine.

int finley::Quad_getNumNodesTri ( int  order)

References noError(), and Quad_getNumNodesLine.

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 
)
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 
)
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 
)
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 
)
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 
)
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 
)
void finley::Quad_makeNodesOnFace ( int  ,
int  ,
double *  ,
double *  ,
Quad_getNodes   
)
const QuadInfo * finley::QuadInfo_getInfo ( QuadTypeId  id)
escript::Domain_ptr finley::readGmsh ( const std::string &  fileName,
int  numDim,
int  integrationOrder = -1,
int  reducedIntegrationOrder = -1,
bool  optimize = false,
bool  useMacroElements = false,
const std::vector< double > &  points = std::vector< double >(),
const std::vector< int > &  tags = std::vector< int >() 
)

Read a gmsh mesh file.

Parameters
fileNameInput - The name of the file.
numDimInput - spatial dimension
integrationOrderInput - order of the quadrature scheme. If integrationOrder<0 the integration order is selected independently.
reducedIntegrationOrderInput - order of the reduced quadrature scheme. If reducedIntegrationOrder<0 the integration order is selected independently.
optimizeInput - switches on the optimization of node labels
useMacroElements
Domain_ptr finley::readGmsh ( esysUtils::JMPI info,
const std::string &  fileName,
int  numDim,
int  integrationOrder,
int  reducedIntegrationOrder,
bool  optimize,
bool  useMacroElements,
const std::vector< double > &  points,
const std::vector< int > &  tags 
)
escript::Domain_ptr finley::readGmsh_driver ( const boost::python::list &  args)

Python driver for readGMesh()

Parameters
argssee readGMesh() definition for order of params

References esysUtils::makeInfo(), MPI_COMM_WORLD, and readGmsh().

Referenced by BOOST_PYTHON_MODULE().

escript::Domain_ptr finley::readMesh ( const std::string &  fileName,
int  integrationOrder = -1,
int  reducedIntegrationOrder = -1,
bool  optimize = false,
const std::vector< double > &  points = std::vector< double >(),
const std::vector< int > &  tags = std::vector< int >() 
)

Read a mesh from a file. For MPI parallel runs fan out the mesh to multiple processes.

Parameters
fileNameInput - The name of the file.
integrationOrderInput - order of the quadrature scheme. If integrationOrder<0 the integration order is selected independently.
reducedIntegrationOrderInput - order of the reduced quadrature scheme. If reducedIntegrationOrder<0 the integration order is selected independently.
optimizeInput - switches on the optimization of node labels
Warning
These defaults are also encoded in readMesh_driver. Please ensure any changes are consistant
Domain_ptr finley::readMesh ( esysUtils::JMPI info,
const std::string &  fileName,
int  integrationOrder,
int  reducedIntegrationOrder,
bool  optimize,
const std::vector< double > &  points,
const std::vector< int > &  tags 
)
escript::Domain_ptr finley::readMesh_driver ( const boost::python::list &  args)

Python driver for readMesh()

Parameters
argssee readMesh() definition for order of params

References esysUtils::makeInfo(), MPI_COMM_WORLD, and readMesh().

Referenced by BOOST_PYTHON_MODULE().

escript::Domain_ptr finley::rectangle ( esysUtils::JMPI info,
dim_t  n0 = 1,
dim_t  n1 = 1,
dim_t  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 rectangular mesh with n0 x n1 elements over the brick [0,l0] x [0,l1].

Parameters
n0,n1number of elements in each dimension
l0,l1length of each side of brick
order=1, =-1 or =2 gives the order of shape function (-1= macro elements of order 1)
periodic0,periodic1whether or not the boundary conditions of the dimension are periodic
integrationOrderorder of the quadrature scheme. If integrationOrder<0 the integration order is selected independently.
reducedIntegrationOrderorder of the reduced quadrature scheme. If reducedIntegrationOrder<0 the integration order is selected independently.
useElementsOnFacewhether or not to use elements on face
useFullElementOrder
optimize
points
tags
tagNamesToNums

References finley::MeshAdapter::addDiracPoints(), finley::Mesh::addTagMap(), checkFinleyError(), finley::MeshAdapter::getMesh(), finley::Mesh::Points, RectangularMesh_Rec4(), RectangularMesh_Rec8(), and finley::ElementFile::updateTagList().

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

Python driver for rectangle()

Parameters
argssee rectangle() definition for order of params

References esysUtils::makeInfo(), MPI_COMM_WORLD, and dudley::rectangle().

Referenced by BOOST_PYTHON_MODULE().

Mesh * finley::RectangularMesh_Hex20 ( const dim_t numElements,
const double *  Length,
const bool *  periodic,
int  order,
int  reduced_order,
bool  useElementsOnFace,
bool  useFullElementOrder,
bool  useMacroElements,
bool  optimize,
esysUtils::JMPI mpiInfo 
)
Mesh * finley::RectangularMesh_Hex8 ( const dim_t numElements,
const double *  Length,
const bool *  periodic,
int  order,
int  reduced_order,
bool  useElementsOnFace,
bool  useFullElementOrder,
bool  optimize,
esysUtils::JMPI mpiInfo 
)
Mesh * finley::RectangularMesh_Rec4 ( const dim_t numElements,
const double *  Length,
const bool *  periodic,
int  order,
int  reduced_order,
bool  useElementsOnFace,
bool  useFullElementOrder,
bool  optimize,
esysUtils::JMPI mpiInfo 
)
Mesh * finley::RectangularMesh_Rec8 ( const dim_t numElements,
const double *  Length,
const bool *  periodic,
int  order,
int  reduced_order,
bool  useElementsOnFace,
bool  useFullElementOrder,
bool  useMacroElements,
bool  optimize,
esysUtils::JMPI mpiInfo 
)
void finley::recv_state ( esysUtils::JMPI mpi_info,
int *  error,
int *  logic 
)

References MPI_INT.

Referenced by finley::Mesh::readGmshSlave().

void finley::resetError ( )
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
void finley::send_state ( esysUtils::JMPI mpi_info,
int  error,
int  logic 
)

References MPI_INT.

Referenced by finley::Mesh::readGmshMaster().

void finley::setError ( ErrorCodeType  err,
const char *  msg 
)

sets an error

References Esys_setError().

Referenced by Assemble_AverageElementData(), Assemble_CopyElementData(), Assemble_CopyNodalData(), Assemble_getNormal(), Assemble_getSize(), Assemble_gradient(), Assemble_integrate(), Assemble_interpolate(), Assemble_jacobians_1D(), Assemble_jacobians_2D(), Assemble_jacobians_2D_M1D_E1D(), Assemble_jacobians_2D_M1D_E1D_C(), Assemble_jacobians_2D_M1D_E2D(), Assemble_jacobians_2D_M1D_E2D_C(), Assemble_jacobians_3D(), Assemble_jacobians_3D_M2D_E2D(), Assemble_jacobians_3D_M2D_E2D_C(), Assemble_jacobians_3D_M2D_E3D(), Assemble_jacobians_3D_M2D_E3D_C(), Assemble_LumpedSystem(), Assemble_NodeCoordinates(), Assemble_PDE(), finley::AssembleParameters::AssembleParameters(), finley::NodeMapping::assign(), finley::ElementFile::borrowJacobians(), finley::NodeFile::copyTable(), finley::ElementFile::copyTable(), finley::NodeFile::createDOFMappingAndCoupling(), finley::MeshAdapter::dump(), finley::Mesh::findMatchingFaces(), finley::NodeFile::gather_global(), finley::ShapeFunction::getInfo(), finley::ReferenceElement::getInfo(), finley::Mesh::getTag(), finley::Mesh::glueFaces(), finley::util::invertSmallMat(), finley::Mesh::joinFaces(), Mesh_merge(), finley::util::normalVector(), Quad_getNodesHex(), Quad_getNodesLine(), Quad_getNodesPoint(), Quad_getNodesRec(), Quad_getNumNodesLine(), Quad_MacroHex(), Quad_MacroLine(), Quad_MacroRec(), Quad_MacroTet(), Quad_MacroTri(), QuadInfo_getInfo(), finley::Mesh::read(), finley::Mesh::readGmshMaster(), RectangularMesh_Hex20(), RectangularMesh_Rec8(), finley::ReferenceElement::ReferenceElement(), finley::ReferenceElementSet::ReferenceElementSet(), finley::NodeFile::setCoordinates(), setNumSamplesError(), setShapeError(), finley::NodeFile::setTags(), finley::ElementFile::setTags(), finley::ShapeFunction::ShapeFunction(), and finley::Mesh::write().

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

References setError(), and TYPE_ERROR.

Referenced by Assemble_PDE().

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

References setError(), and TYPE_ERROR.

Referenced by Assemble_PDE().

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.

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.

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.

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.

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.

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.

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.

void finley::Shape_Point1 ( int  NumV,
std::vector< double > &  v,
std::vector< double > &  s,
std::vector< double > &  dsdv 
)
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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

double finley::timer ( )

returns a time mark

References Esys_timer().

Referenced by finley::Mesh::readGmshMaster(), and finley::Mesh::readGmshSlave().

Variable Documentation

double finley::lockingGridSize =0.
static

Referenced by FaceCenterCompare().

Quad_getNodes finley::Quad_getNodesHex

Referenced by Quad_getNodesTet().

Quad_getNodes finley::Quad_getNodesHexMacro
Quad_getNodes finley::Quad_getNodesLine
Quad_getNodes finley::Quad_getNodesLineMacro
Quad_getNodes finley::Quad_getNodesLineOnFace
Quad_getNodes finley::Quad_getNodesPoint
Quad_getNodes finley::Quad_getNodesPointOnFace
Quad_getNodes finley::Quad_getNodesRec

Referenced by Quad_getNodesTri().

Quad_getNodes finley::Quad_getNodesRecMacro
Quad_getNodes finley::Quad_getNodesRecOnFace
Quad_getNodes finley::Quad_getNodesTet
Quad_getNodes finley::Quad_getNodesTetMacro
Quad_getNodes finley::Quad_getNodesTri
Quad_getNodes finley::Quad_getNodesTriMacro
Quad_getNodes finley::Quad_getNodesTriOnFace
Quad_getNumNodes finley::Quad_getNumNodesHex
Quad_getNumNodes finley::Quad_getNumNodesLine
Quad_getNumNodes finley::Quad_getNumNodesPoint
Quad_getNumNodes finley::Quad_getNumNodesRec
Quad_getNumNodes finley::Quad_getNumNodesTet
Quad_getNumNodes finley::Quad_getNumNodesTri
Quad_getMacro finley::Quad_MacroHex
Quad_getMacro finley::Quad_MacroLine
Quad_getMacro finley::Quad_MacroPoint
Quad_getMacro finley::Quad_MacroRec
Quad_getMacro finley::Quad_MacroTet
Quad_getMacro finley::Quad_MacroTri
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:1354
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:1345
void Quad_getNodesTri(int numQuadNodes, std::vector< double > &quadNodes, std::vector< double > &quadWeights)
Definition: Quadrature.cpp:63
Definition: Quadrature.h:35
void Quad_getNodesLine(int numQuadNodes, std::vector< double > &quadNodes, std::vector< double > &quadWeights)
Definition: Quadrature.cpp:1088
int Quad_getNumNodesPoint(int order)
Definition: Quadrature.cpp:1243
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:1531
Definition: Quadrature.h:41
void Quad_getNodesPoint(int numQuadNodes, std::vector< double > &quadNodes, std::vector< double > &quadWeights)
Definition: Quadrature.cpp:1079
int Quad_getNumNodesLine(int order)
Definition: Quadrature.cpp:1248
int Quad_getNumNodesTet(int order)
Definition: Quadrature.cpp:1307
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:1383
int Quad_getNumNodesRec(int order)
Definition: Quadrature.cpp:1297
int Quad_getNumNodesTri(int order)
Definition: Quadrature.cpp:1267
Definition: Quadrature.h:39
void Quad_getNodesTet(int numQuadNodes, std::vector< double > &quadNodes, std::vector< double > &quadWeights)
Definition: Quadrature.cpp:370
void Quad_getNodesRec(int numQuadNodes, std::vector< double > &quadNodes, std::vector< double > &quadWeights)
Definition: Quadrature.cpp:993
Definition: Quadrature.h:38
Definition: Quadrature.h:36
int Quad_getNumNodesHex(int order)
Definition: Quadrature.cpp:1335
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:1457
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:1654
void Quad_getNodesHex(int numQuadNodes, std::vector< double > &quadNodes, std::vector< double > &quadWeights)
Definition: Quadrature.cpp:1034
const ReferenceElementInfo finley::ReferenceElement_InfoList[]

this list has been generated by generateReferenceElementList.py

ShapeFunction_Evaluation finley::Shape_Hex20
ShapeFunction_Evaluation finley::Shape_Hex27
ShapeFunction_Evaluation finley::Shape_Hex32
ShapeFunction_Evaluation finley::Shape_Hex8
ShapeFunction_Evaluation finley::Shape_Line2
ShapeFunction_Evaluation finley::Shape_Line3
ShapeFunction_Evaluation finley::Shape_Line4
ShapeFunction_Evaluation finley::Shape_Point1
ShapeFunction_Evaluation finley::Shape_Rec12
ShapeFunction_Evaluation finley::Shape_Rec16
ShapeFunction_Evaluation finley::Shape_Rec4
ShapeFunction_Evaluation finley::Shape_Rec8
ShapeFunction_Evaluation finley::Shape_Rec9
ShapeFunction_Evaluation finley::Shape_Tet10
ShapeFunction_Evaluation finley::Shape_Tet16
ShapeFunction_Evaluation finley::Shape_Tet4
ShapeFunction_Evaluation finley::Shape_Tri10
ShapeFunction_Evaluation finley::Shape_Tri3
ShapeFunction_Evaluation finley::Shape_Tri6
ShapeFunction_Evaluation finley::Shape_Tri9
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