escript
Revision_
|
Namespaces | |
namespace | util |
Classes | |
struct | AssembleParameters |
class | FinleyAdapterException |
FinleyAdapterException exception class. More... | |
struct | null_deleter |
class | MeshAdapter |
implements the AbstractContinuousDomain interface for the Finley library. More... | |
struct | ElementFile_Jacobians |
class | ElementFile |
class | Mesh |
struct | FaceCenter |
class | NodeFile |
struct | NodeMapping |
struct | QuadInfo |
struct | ReferenceElementInfo |
this struct holds the definition of the reference element More... | |
struct | ReferenceElement |
this struct holds the realization of a reference element More... | |
struct | ReferenceElementSet |
struct | ShapeFunctionInfo |
this struct holds the definition of the shape functions on an element More... | |
struct | ShapeFunction |
this struct holds the evaluation of a shape function on a quadrature scheme More... | |
Typedefs | |
typedef Esys_ErrorCodeType | ErrorCodeType |
typedef std::map< std::string, int > | TagMap |
typedef void( | Quad_getNodes )(int, double *, 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 < ReferenceElement > | ReferenceElement_ptr |
typedef boost::shared_ptr < const ReferenceElement > | const_ReferenceElement_ptr |
typedef boost::shared_ptr < const ReferenceElementSet > | const_ReferenceElementSet_ptr |
typedef void( | ShapeFunction_Evaluation )(int, double *, double *, double *) |
typedef boost::shared_ptr < const ShapeFunction > | const_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 int *Nodes_Equa, const int num_Equa, const int NN_Sol, const int *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, int numElements, int numNodes, const int *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const int *elementId) |
void | Assemble_jacobians_2D (const double *coordinates, int numQuad, const double *QuadWeights, int numShape, int numElements, int numNodes, const int *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const int *elementId) |
void | Assemble_jacobians_2D_M1D_E1D (const double *coordinates, int numQuad, const double *QuadWeights, int numShape, int numElements, int numNodes, const int *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const int *elementId) |
void | Assemble_jacobians_2D_M1D_E1D_C (const double *coordinates, int numQuad, const double *QuadWeights, int numShape, int numElements, int numNodes, const int *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const int *elementId) |
void | Assemble_jacobians_2D_M1D_E2D (const double *coordinates, int numQuad, const double *QuadWeights, int numShape, int numElements, int numNodes, const int *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const int *elementId) |
void | Assemble_jacobians_2D_M1D_E2D_C (const double *coordinates, int numQuad, const double *QuadWeights, int numShape, int numElements, int numNodes, const int *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const int *elementId) |
void | Assemble_jacobians_3D (const double *coordinates, int numQuad, const double *QuadWeights, int numShape, int numElements, int numNodes, const int *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const int *elementId) |
void | Assemble_jacobians_3D_M2D_E2D (const double *coordinates, int numQuad, const double *QuadWeights, int numShape, int numElements, int numNodes, const int *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const int *elementId) |
void | Assemble_jacobians_3D_M2D_E2D_C (const double *coordinates, int numQuad, const double *QuadWeights, int numShape, int numElements, int numNodes, const int *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const int *elementId) |
void | Assemble_jacobians_3D_M2D_E3D (const double *coordinates, int numQuad, const double *QuadWeights, int numShape, int numElements, int numNodes, const int *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const int *elementId) |
void | Assemble_jacobians_3D_M2D_E3D_C (const double *coordinates, int numQuad, const double *QuadWeights, int numShape, int numElements, int numNodes, const int *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const int *elementId) |
void | Assemble_addToSystemMatrix_CSC (paso::SystemMatrix_ptr in, const int NN_Equa, const int *Nodes_Equa, const int num_Equa, const int NN_Sol, const int *Nodes_Sol, const int num_Sol, const double *array) |
void | Assemble_addToSystemMatrix_Trilinos (paso::SystemMatrix_ptr in, const int NN_Equa, const int *Nodes_Equa, const int num_Equa, const int NN_Sol, const int *Nodes_Sol, const int num_Sol, const double *array) |
void | Assemble_addToSystemMatrix_CSR (paso::SystemMatrix_ptr in, const int NN_Equa, const int *Nodes_Equa, const int num_Equa, const int NN_Sol, const int *Nodes_Sol, const 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 (int n0=1, int n1=1, int 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]. | |
escript::Domain_ptr | rectangle (int n0=1, int 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 rectangular mesh with n0 x n1 elements over the brick [0,l0] x [0,l1]. | |
void | cleanupAndThrow (Mesh *mesh, Esys_MPIInfo *info, string msg) |
Domain_ptr | loadMesh (const std::string &fileName) |
A suite of factory methods for creating various MeshAdapters. | |
Domain_ptr | readMesh (const std::string &fileName, int integrationOrder=-1, int reducedIntegrationOrder=-1, bool optimize=false) |
Read a mesh from a file. For MPI parallel runs fan out the mesh to multiple processes. | |
Domain_ptr | readGmsh (const std::string &fileName, int numDim, int integrationOrder=-1, int reducedIntegrationOrder=-1, bool optimize=false, bool useMacroElements=false) |
Read a gmsh mesh file. | |
Domain_ptr | brick_driver (const boost::python::list &args) |
Python driver for brick() | |
Domain_ptr | meshMerge (const boost::python::list &meshList) |
Merges a list of meshes into one list. | |
Domain_ptr | rectangle_driver (const boost::python::list &args) |
Python driver for rectangle() | |
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. | |
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. | |
double | timer () |
returns a time mark | |
bool | checkPtr (void *arg) |
void | resetError () |
resets the error to NO_ERROR | |
void | setError (ErrorCodeType err, const char *msg) |
sets an error | |
bool | noError () |
checks if there is no error | |
ErrorCodeType | getErrorType () |
returns the error code | |
char * | getErrorMessage (void) |
returns the error message | |
void | checkFinleyError () |
bool | MPI_noError (Esys_MPIInfo *mpi_info) |
void | IndexList_insertElements (IndexListArray &index_list, ElementFile *elements, bool reduce_row_order, const int *row_map, bool reduce_col_order, const int *col_map) |
void | IndexList_insertElementsWithRowRangeNoMainDiagonal (IndexListArray &index_list, int firstRow, int lastRow, ElementFile *elements, int *row_map, int *col_map) |
Mesh * | Mesh_merge (const std::vector< Mesh * > &meshes) |
bool | FaceCenterCompare (const FaceCenter &e1, const FaceCenter &e2) |
comparison function for findMatchingFaces | |
double | getDist (int e0, int i0, int e1, int i1, int numDim, int NN, const double *X) |
Mesh * | RectangularMesh_Hex20 (const int *numElements, const double *Length, const bool *periodic, int order, int reduced_order, bool useElementsOnFace, bool useFullElementOrder, bool useMacroElements, bool optimize) |
Mesh * | RectangularMesh_Hex8 (const int *numElements, const double *Length, const bool *periodic, int order, int reduced_order, bool useElementsOnFace, bool useFullElementOrder, bool optimize) |
Mesh * | RectangularMesh_Rec4 (const int *numElements, const double *Length, const bool *periodic, int order, int reduced_order, bool useElementsOnFace, bool useFullElementOrder, bool optimize) |
Mesh * | RectangularMesh_Rec8 (const int *numElements, const double *Length, const bool *periodic, int order, int reduced_order, bool useElementsOnFace, bool useFullElementOrder, bool useMacroElements, bool optimize) |
static void | scatterEntries (int n, int *index, int min_index, int max_index, int *Id_out, int *Id_in, int *Tag_out, int *Tag_in, int *globalDegreesOfFreedom_out, int *globalDegreesOfFreedom_in, int numDim, double *Coordinates_out, double *Coordinates_in) |
static void | gatherEntries (int n, const int *index, int min_index, int max_index, int *Id_out, int *Id_in, int *Tag_out, int *Tag_in, int *globalDegreesOfFreedom_out, int *globalDegreesOfFreedom_in, int numDim, double *Coordinates_out, double *Coordinates_in) |
const QuadInfo * | QuadInfo_getInfo (QuadTypeId id) |
void | Quad_getNodesTri (int numQuadNodes, double *quadNodes, double *quadWeights) |
void | Quad_getNodesTet (int numQuadNodes, double *quadNodes, double *quadWeights) |
void | Quad_getNodesRec (int numQuadNodes, double *quadNodes, double *quadWeights) |
void | Quad_getNodesHex (int numQuadNodes, double *quadNodes, double *quadWeights) |
void | Quad_getNodesPoint (int numQuadNodes, double *quadNodes, double *quadWeights) |
void | Quad_getNodesLine (int numQuadNodes, double *quadNodes, 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, double *v, double *s, double *dsdv) |
void | Shape_Line2 (int NumV, double *v, double *s, double *dsdv) |
void | Shape_Line3 (int NumV, double *v, double *s, double *dsdv) |
void | Shape_Line4 (int NumV, double *v, double *s, double *dsdv) |
void | Shape_Tri3 (int NumV, double *v, double *s, double *dsdv) |
void | Shape_Tri6 (int NumV, double *v, double *s, double *dsdv) |
void | Shape_Tri9 (int NumV, double *v, double *s, double *dsdv) |
void | Shape_Tri10 (int NumV, double *v, double *s, double *dsdv) |
void | Shape_Rec4 (int NumV, double *v, double *s, double *dsdv) |
void | Shape_Rec8 (int NumV, double *v, double *s, double *dsdv) |
void | Shape_Rec9 (int NumV, double *v, double *s, double *dsdv) |
void | Shape_Rec12 (int NumV, double *v, double *s, double *dsdv) |
void | Shape_Rec16 (int NumV, double *v, double *s, double *dsdv) |
void | Shape_Tet4 (int NumV, double *v, double *s, double *dsdv) |
void | Shape_Tet10 (int NumV, double *v, double *s, double *dsdv) |
void | Shape_Tet16 (int NumV, double *v, double *s, double *dsdv) |
void | Shape_Hex8 (int NumV, double *v, double *s, double *dsdv) |
void | Shape_Hex20 (int NumV, double *v, double *s, double *dsdv) |
void | Shape_Hex27 (int NumV, double *v, double *s, double *dsdv) |
void | Shape_Hex32 (int NumV, double *v, double *s, 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 | |
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 boost::shared_ptr<const ReferenceElement> finley::const_ReferenceElement_ptr |
typedef boost::shared_ptr<const ReferenceElementSet> finley::const_ReferenceElementSet_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, double *, double *) |
typedef int( finley::Quad_getNumNodes)(int) |
typedef boost::shared_ptr<ReferenceElement> finley::ReferenceElement_ptr |
typedef void( finley::ShapeFunction_Evaluation)(int, double *, double *, double *) |
typedef std::map<std::string, int> finley::TagMap |
enum finley::QuadTypeId |
void finley::Assemble_addToSystemMatrix | ( | paso::SystemMatrix_ptr | S, |
const int | NN_Equa, | ||
const int * | Nodes_Equa, | ||
const int | num_Equa, | ||
const int | NN_Sol, | ||
const int * | Nodes_Sol, | ||
const int | num_Sol, | ||
const double * | array | ||
) |
References Assemble_addToSystemMatrix_CSC(), Assemble_addToSystemMatrix_CSR(), Assemble_addToSystemMatrix_Trilinos(), MATRIX_FORMAT_CSC, and MATRIX_FORMAT_TRILINOS_CRS.
Referenced by Assemble_PDE_Points(), Assemble_PDE_Single_1D(), Assemble_PDE_Single_2D(), Assemble_PDE_Single_3D(), Assemble_PDE_Single_C(), Assemble_PDE_System_1D(), Assemble_PDE_System_2D(), Assemble_PDE_System_3D(), and Assemble_PDE_System_C().
void finley::Assemble_addToSystemMatrix_CSC | ( | paso::SystemMatrix_ptr | in, |
const int | NN_Equa, | ||
const int * | Nodes_Equa, | ||
const int | num_Equa, | ||
const int | NN_Sol, | ||
const int * | Nodes_Sol, | ||
const int | num_Sol, | ||
const double * | array | ||
) |
References INDEX4, and MATRIX_FORMAT_OFFSET1.
Referenced by Assemble_addToSystemMatrix().
void finley::Assemble_addToSystemMatrix_CSR | ( | paso::SystemMatrix_ptr | in, |
const int | NN_Equa, | ||
const int * | Nodes_Equa, | ||
const int | num_Equa, | ||
const int | NN_Sol, | ||
const int * | Nodes_Sol, | ||
const int | num_Sol, | ||
const double * | array | ||
) |
References INDEX4, and MATRIX_FORMAT_OFFSET1.
Referenced by Assemble_addToSystemMatrix().
void finley::Assemble_addToSystemMatrix_Trilinos | ( | paso::SystemMatrix_ptr | in, |
const int | NN_Equa, | ||
const int * | Nodes_Equa, | ||
const int | num_Equa, | ||
const int | NN_Sol, | ||
const int * | Nodes_Sol, | ||
const int | num_Sol, | ||
const double * | array | ||
) |
References INDEX4, and MATRIX_FORMAT_OFFSET1.
Referenced by Assemble_addToSystemMatrix().
void finley::Assemble_AverageElementData | ( | const ElementFile * | elements, |
escript::Data & | out, | ||
const escript::Data & | in | ||
) |
References escript::Data::actsExpanded(), escript::Data::getDataPointSize(), escript::Data::getSampleDataRO(), escript::Data::getSampleDataRW(), finley::util::hasReducedIntegrationOrder(), INDEX2, finley::ElementFile::numElements, escript::Data::numSamplesEqual(), finley::ElementFile::referenceElementSet, escript::Data::requireWrite(), resetError(), setError(), and TYPE_ERROR.
Referenced by finley::MeshAdapter::interpolateOnDomain().
void finley::Assemble_CopyElementData | ( | const ElementFile * | elements, |
escript::Data & | out, | ||
const escript::Data & | in | ||
) |
References escript::Data::actsExpanded(), escript::Data::getDataPointSize(), escript::Data::getSampleDataRO(), escript::Data::getSampleDataRW(), finley::util::hasReducedIntegrationOrder(), finley::ElementFile::numElements, escript::Data::numSamplesEqual(), finley::ElementFile::referenceElementSet, escript::Data::requireWrite(), resetError(), setError(), and TYPE_ERROR.
Referenced by finley::MeshAdapter::interpolateOnDomain().
void finley::Assemble_CopyNodalData | ( | const NodeFile * | nodes, |
escript::Data & | out, | ||
const escript::Data & | in | ||
) |
References escript::Data::actsExpanded(), finley::NodeFile::borrowDegreesOfFreedomTarget(), finley::NodeFile::borrowReducedDegreesOfFreedomTarget(), finley::NodeFile::borrowReducedNodesTarget(), finley::NodeFile::borrowTargetDegreesOfFreedom(), finley::NodeFile::borrowTargetReducedDegreesOfFreedom(), finley::NodeFile::borrowTargetReducedNodes(), finley::NodeFile::degreesOfFreedomConnector, Esys_noError(), FINLEY_DEGREES_OF_FREEDOM, FINLEY_NODES, FINLEY_REDUCED_DEGREES_OF_FREEDOM, FINLEY_REDUCED_NODES, escript::Data::getDataPointSize(), escript::Data::getFunctionSpace(), finley::NodeFile::getNumDegreesOfFreedom(), finley::NodeFile::getNumNodes(), finley::NodeFile::getNumReducedDegreesOfFreedom(), finley::NodeFile::getNumReducedNodes(), escript::Data::getSampleDataRO(), escript::Data::getSampleDataRW(), escript::FunctionSpace::getTypeCode(), finley::NodeFile::MPIInfo, noError(), finley::NodeFile::numNodes, escript::Data::numSamplesEqual(), finley::NodeFile::reducedDegreesOfFreedomConnector, escript::Data::requireWrite(), resetError(), setError(), Esys_MPIInfo::size, and TYPE_ERROR.
Referenced by finley::MeshAdapter::interpolateOnDomain().
void finley::Assemble_getNormal | ( | const NodeFile * | nodes, |
const ElementFile * | elements, | ||
escript::Data & | normals | ||
) |
References escript::Data::actsExpanded(), finley::NodeFile::Coordinates, FINLEY_CONTACT_ELEMENTS_2, finley::util::gather(), escript::Data::getFunctionSpace(), escript::Data::getSampleDataRW(), escript::FunctionSpace::getTypeCode(), finley::util::hasReducedIntegrationOrder(), INDEX2, escript::Data::isDataPointShapeEqual(), finley::ElementFile::Nodes, noError(), finley::util::normalVector(), finley::NodeFile::numDim, finley::ElementFile::numElements, finley::ElementFile::numNodes, escript::Data::numSamplesEqual(), finley::ElementFile::referenceElementSet, escript::Data::requireWrite(), resetError(), setError(), finley::util::smallMatMult(), and TYPE_ERROR.
Referenced by finley::MeshAdapter::setToNormal().
void finley::Assemble_getSize | ( | const NodeFile * | nodes, |
const ElementFile * | elements, | ||
escript::Data & | size | ||
) |
References escript::Data::actsExpanded(), finley::NodeFile::Coordinates, FINLEY_CONTACT_ELEMENTS_2, finley::util::gather(), escript::Data::getFunctionSpace(), escript::Data::getSampleDataRW(), escript::FunctionSpace::getTypeCode(), finley::util::hasReducedIntegrationOrder(), INDEX2, escript::Data::isDataPointShapeEqual(), finley::ElementFile::Nodes, noError(), finley::NodeFile::numDim, finley::ElementFile::numElements, finley::ElementFile::numNodes, escript::Data::numSamplesEqual(), finley::ElementFile::referenceElementSet, escript::Data::requireWrite(), resetError(), setError(), and TYPE_ERROR.
Referenced by finley::MeshAdapter::setToSize().
void finley::Assemble_gradient | ( | const NodeFile * | nodes, |
const ElementFile * | elements, | ||
escript::Data & | gradient, | ||
const escript::Data & | data | ||
) |
References escript::Data::actsExpanded(), finley::ElementFile_Jacobians::BasisFunctions, finley::ElementFile::borrowJacobians(), finley::NodeFile::borrowTargetDegreesOfFreedom(), finley::NodeFile::borrowTargetReducedDegreesOfFreedom(), finley::NodeFile::borrowTargetReducedNodes(), finley::ElementFile_Jacobians::DSDX, FINLEY_CONTACT_ELEMENTS_2, FINLEY_DEGREES_OF_FREEDOM, FINLEY_NODES, FINLEY_REDUCED_CONTACT_ELEMENTS_2, FINLEY_REDUCED_DEGREES_OF_FREEDOM, FINLEY_REDUCED_NODES, escript::Data::getDataPointSize(), escript::Data::getFunctionSpace(), finley::NodeFile::getNumDegreesOfFreedom(), finley::NodeFile::getNumNodes(), finley::NodeFile::getNumReducedDegreesOfFreedom(), finley::NodeFile::getNumReducedNodes(), escript::Data::getSampleDataRO(), escript::Data::getSampleDataRW(), escript::FunctionSpace::getTypeCode(), finley::util::hasReducedIntegrationOrder(), INDEX2, INDEX4, INDEX5, finley::ElementFile::MPIInfo, finley::ElementFile::Nodes, noError(), finley::ElementFile_Jacobians::numDim, finley::ElementFile::numElements, finley::ElementFile::numNodes, finley::ElementFile_Jacobians::numQuadTotal, escript::Data::numSamplesEqual(), finley::ElementFile_Jacobians::numShapesTotal, finley::ElementFile_Jacobians::numSub, finley::ElementFile_Jacobians::offsets, finley::ElementFile::referenceElementSet, escript::Data::requireWrite(), resetError(), setError(), Esys_MPIInfo::size, SYSTEM_ERROR, and TYPE_ERROR.
Referenced by finley::MeshAdapter::setToGradient().
void finley::Assemble_integrate | ( | const NodeFile * | nodes, |
const ElementFile * | elements, | ||
const escript::Data & | data, | ||
double * | integrals | ||
) |
References escript::Data::actsExpanded(), finley::ElementFile::borrowJacobians(), FALSE, escript::Data::getDataPointSize(), escript::Data::getSampleDataRO(), finley::util::hasReducedIntegrationOrder(), INDEX2, finley::NodeFile::MPIInfo, noError(), finley::ElementFile::numElements, finley::ElementFile_Jacobians::numQuadTotal, escript::Data::numSamplesEqual(), finley::ElementFile::Owner, Esys_MPIInfo::rank, resetError(), setError(), TYPE_ERROR, and finley::ElementFile_Jacobians::volume.
Referenced by finley::MeshAdapter::setToIntegrals().
void finley::Assemble_interpolate | ( | const NodeFile * | nodes, |
const ElementFile * | elements, | ||
const escript::Data & | data, | ||
escript::Data & | output | ||
) |
References escript::Data::actsExpanded(), finley::NodeFile::borrowTargetDegreesOfFreedom(), finley::NodeFile::borrowTargetNodes(), finley::NodeFile::borrowTargetReducedDegreesOfFreedom(), finley::NodeFile::borrowTargetReducedNodes(), FINLEY_CONTACT_ELEMENTS_2, FINLEY_DEGREES_OF_FREEDOM, FINLEY_NODES, FINLEY_REDUCED_DEGREES_OF_FREEDOM, FINLEY_REDUCED_NODES, escript::Data::getDataPointSize(), escript::Data::getFunctionSpace(), finley::NodeFile::getNumDegreesOfFreedom(), finley::NodeFile::getNumNodes(), finley::NodeFile::getNumReducedDegreesOfFreedom(), finley::NodeFile::getNumReducedNodes(), escript::Data::getSampleDataRO(), escript::Data::getSampleDataRW(), escript::FunctionSpace::getTypeCode(), finley::util::hasReducedIntegrationOrder(), INDEX2, INDEX3, finley::ElementFile::MPIInfo, finley::ElementFile::Nodes, noError(), finley::ElementFile::numElements, finley::ElementFile::numNodes, escript::Data::numSamplesEqual(), finley::ElementFile::referenceElementSet, escript::Data::requireWrite(), resetError(), setError(), Esys_MPIInfo::size, finley::util::smallMatSetMult1(), and TYPE_ERROR.
Referenced by finley::MeshAdapter::interpolateOnDomain().
void finley::Assemble_jacobians_1D | ( | const double * | coordinates, |
int | numQuad, | ||
const double * | QuadWeights, | ||
int | numShape, | ||
int | numElements, | ||
int | numNodes, | ||
const int * | nodes, | ||
const double * | DSDv, | ||
int | numTest, | ||
const double * | DTDv, | ||
double * | dTdX, | ||
double * | volume, | ||
const int * | elementId | ||
) |
References ABS, DIM, INDEX2, INDEX3, INDEX4, LOCDIM, setError(), and ZERO_DIVISION_ERROR.
Referenced by finley::ElementFile::borrowJacobians().
void finley::Assemble_jacobians_2D | ( | const double * | coordinates, |
int | numQuad, | ||
const double * | QuadWeights, | ||
int | numShape, | ||
int | numElements, | ||
int | numNodes, | ||
const int * | nodes, | ||
const double * | DSDv, | ||
int | numTest, | ||
const double * | DTDv, | ||
double * | dTdX, | ||
double * | volume, | ||
const int * | elementId | ||
) |
References ABS, DIM, INDEX2, INDEX3, INDEX4, LOCDIM, setError(), and ZERO_DIVISION_ERROR.
Referenced by finley::ElementFile::borrowJacobians().
void finley::Assemble_jacobians_2D_M1D_E1D | ( | const double * | coordinates, |
int | numQuad, | ||
const double * | QuadWeights, | ||
int | numShape, | ||
int | numElements, | ||
int | numNodes, | ||
const int * | nodes, | ||
const double * | DSDv, | ||
int | numTest, | ||
const double * | DTDv, | ||
double * | dTdX, | ||
double * | volume, | ||
const int * | elementId | ||
) |
References DIM, INDEX2, INDEX3, INDEX4, LOCDIM, setError(), and ZERO_DIVISION_ERROR.
Referenced by finley::ElementFile::borrowJacobians().
void finley::Assemble_jacobians_2D_M1D_E1D_C | ( | const double * | coordinates, |
int | numQuad, | ||
const double * | QuadWeights, | ||
int | numShape, | ||
int | numElements, | ||
int | numNodes, | ||
const int * | nodes, | ||
const double * | DSDv, | ||
int | numTest, | ||
const double * | DTDv, | ||
double * | dTdX, | ||
double * | volume, | ||
const int * | elementId | ||
) |
References DIM, INDEX2, INDEX3, INDEX4, LOCDIM, setError(), and ZERO_DIVISION_ERROR.
Referenced by finley::ElementFile::borrowJacobians().
void finley::Assemble_jacobians_2D_M1D_E2D | ( | const double * | coordinates, |
int | numQuad, | ||
const double * | QuadWeights, | ||
int | numShape, | ||
int | numElements, | ||
int | numNodes, | ||
const int * | nodes, | ||
const double * | DSDv, | ||
int | numTest, | ||
const double * | DTDv, | ||
double * | dTdX, | ||
double * | volume, | ||
const int * | elementId | ||
) |
References DIM, INDEX2, INDEX3, INDEX4, LOCDIM, setError(), and ZERO_DIVISION_ERROR.
Referenced by finley::ElementFile::borrowJacobians().
void finley::Assemble_jacobians_2D_M1D_E2D_C | ( | const double * | coordinates, |
int | numQuad, | ||
const double * | QuadWeights, | ||
int | numShape, | ||
int | numElements, | ||
int | numNodes, | ||
const int * | nodes, | ||
const double * | DSDv, | ||
int | numTest, | ||
const double * | DTDv, | ||
double * | dTdX, | ||
double * | volume, | ||
const int * | elementId | ||
) |
References DIM, INDEX2, INDEX3, INDEX4, LOCDIM, setError(), and ZERO_DIVISION_ERROR.
Referenced by finley::ElementFile::borrowJacobians().
void finley::Assemble_jacobians_3D | ( | const double * | coordinates, |
int | numQuad, | ||
const double * | QuadWeights, | ||
int | numShape, | ||
int | numElements, | ||
int | numNodes, | ||
const int * | nodes, | ||
const double * | DSDv, | ||
int | numTest, | ||
const double * | DTDv, | ||
double * | dTdX, | ||
double * | volume, | ||
const int * | elementId | ||
) |
References ABS, DIM, INDEX2, INDEX3, INDEX4, LOCDIM, setError(), and ZERO_DIVISION_ERROR.
Referenced by finley::ElementFile::borrowJacobians().
void finley::Assemble_jacobians_3D_M2D_E2D | ( | const double * | coordinates, |
int | numQuad, | ||
const double * | QuadWeights, | ||
int | numShape, | ||
int | numElements, | ||
int | numNodes, | ||
const int * | nodes, | ||
const double * | DSDv, | ||
int | numTest, | ||
const double * | DTDv, | ||
double * | dTdX, | ||
double * | volume, | ||
const int * | elementId | ||
) |
References DIM, INDEX2, INDEX3, INDEX4, LOCDIM, setError(), and ZERO_DIVISION_ERROR.
Referenced by finley::ElementFile::borrowJacobians().
void finley::Assemble_jacobians_3D_M2D_E2D_C | ( | const double * | coordinates, |
int | numQuad, | ||
const double * | QuadWeights, | ||
int | numShape, | ||
int | numElements, | ||
int | numNodes, | ||
const int * | nodes, | ||
const double * | DSDv, | ||
int | numTest, | ||
const double * | DTDv, | ||
double * | dTdX, | ||
double * | volume, | ||
const int * | elementId | ||
) |
References DIM, INDEX2, INDEX3, INDEX4, LOCDIM, setError(), and ZERO_DIVISION_ERROR.
Referenced by finley::ElementFile::borrowJacobians().
void finley::Assemble_jacobians_3D_M2D_E3D | ( | const double * | coordinates, |
int | numQuad, | ||
const double * | QuadWeights, | ||
int | numShape, | ||
int | numElements, | ||
int | numNodes, | ||
const int * | nodes, | ||
const double * | DSDv, | ||
int | numTest, | ||
const double * | DTDv, | ||
double * | dTdX, | ||
double * | volume, | ||
const int * | elementId | ||
) |
References DIM, INDEX2, INDEX3, INDEX4, LOCDIM, setError(), and ZERO_DIVISION_ERROR.
Referenced by finley::ElementFile::borrowJacobians().
void finley::Assemble_jacobians_3D_M2D_E3D_C | ( | const double * | coordinates, |
int | numQuad, | ||
const double * | QuadWeights, | ||
int | numShape, | ||
int | numElements, | ||
int | numNodes, | ||
const int * | nodes, | ||
const double * | DSDv, | ||
int | numTest, | ||
const double * | DTDv, | ||
double * | dTdX, | ||
double * | volume, | ||
const int * | elementId | ||
) |
References DIM, INDEX2, INDEX3, INDEX4, LOCDIM, setError(), and ZERO_DIVISION_ERROR.
Referenced by finley::ElementFile::borrowJacobians().
void finley::Assemble_LumpedSystem | ( | const NodeFile * | nodes, |
const ElementFile * | elements, | ||
escript::Data & | lumpedMat, | ||
const escript::Data & | D, | ||
bool | useHRZ | ||
) |
References escript::Data::actsExpanded(), finley::util::addScatter(), finley::ElementFile_Jacobians::BasisFunctions, finley::ElementFile::Color, FINLEY_ELEMENTS, FINLEY_FACE_ELEMENTS, FINLEY_POINTS, FINLEY_REDUCED_ELEMENTS, FINLEY_REDUCED_FACE_ELEMENTS, escript::Data::getDataPointShape(), escript::Data::getFunctionSpace(), escript::Data::getSampleDataRO(), escript::Data::getSampleDataRW(), escript::FunctionSpace::getTypeCode(), INDEX2, INDEX3, escript::Data::isEmpty(), finley::ElementFile::minColor, finley::AssembleParameters::NN, finley::ElementFile::Nodes, noError(), finley::ElementFile::numElements, finley::AssembleParameters::numEqu, finley::AssembleParameters::numQuadSub, finley::AssembleParameters::numQuadTotal, escript::Data::numSamplesEqual(), finley::AssembleParameters::numSub, escript::Data::requireWrite(), resetError(), finley::AssembleParameters::row_DOF, finley::AssembleParameters::row_DOF_UpperBound, finley::AssembleParameters::row_jac, finley::AssembleParameters::row_node, finley::AssembleParameters::row_numShapes, finley::AssembleParameters::row_numShapesTotal, S, setError(), TYPE_ERROR, and finley::ElementFile_Jacobians::volume.
Referenced by finley::MeshAdapter::addPDEToLumpedSystem().
void finley::Assemble_NodeCoordinates | ( | const NodeFile * | nodes, |
escript::Data & | out | ||
) |
References escript::Data::actsExpanded(), finley::NodeFile::Coordinates, FINLEY_NODES, escript::Data::getDataPointShape(), escript::Data::getFunctionSpace(), escript::Data::getSampleDataRW(), escript::FunctionSpace::getTypeCode(), INDEX2, finley::NodeFile::numDim, finley::NodeFile::numNodes, escript::Data::numSamplesEqual(), escript::Data::requireWrite(), resetError(), setError(), and TYPE_ERROR.
Referenced by finley::MeshAdapter::setToX().
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 | ||
) |
Entry point for PDE assembly. Checks arguments, populates an AssembleParameters structure and calls appropriate method for the actual work.
References Assemble_PDE_Points(), Assemble_PDE_Single_1D(), Assemble_PDE_Single_2D(), Assemble_PDE_Single_3D(), Assemble_PDE_Single_C(), Assemble_PDE_System_1D(), Assemble_PDE_System_2D(), Assemble_PDE_System_3D(), Assemble_PDE_System_C(), blocktimer_increment(), blocktimer_time(), FINLEY_CONTACT_ELEMENTS_1, FINLEY_CONTACT_ELEMENTS_2, FINLEY_ELEMENTS, FINLEY_FACE_ELEMENTS, FINLEY_POINTS, FINLEY_REDUCED_CONTACT_ELEMENTS_1, FINLEY_REDUCED_CONTACT_ELEMENTS_2, FINLEY_REDUCED_ELEMENTS, FINLEY_REDUCED_FACE_ELEMENTS, escript::Data::getFunctionSpace(), escript::FunctionSpace::getTypeCode(), escript::Data::isDataPointShapeEqual(), escript::Data::isEmpty(), noError(), finley::AssembleParameters::numComp, finley::AssembleParameters::numDim, finley::ElementFile::numElements, finley::AssembleParameters::numEqu, finley::AssembleParameters::numQuadTotal, escript::Data::numSamplesEqual(), finley::AssembleParameters::numSides, resetError(), setError(), setNumSamplesError(), setShapeError(), TYPE_ERROR, UNKNOWN, and VALUE_ERROR.
Referenced by finley::MeshAdapter::addPDEToRHS(), finley::MeshAdapter::addPDEToSystem(), and finley::MeshAdapter::addPDEToTransportProblem().
void finley::Assemble_PDE_Points | ( | const AssembleParameters & | p, |
const escript::Data & | d_dirac, | ||
const escript::Data & | y_dirac | ||
) |
References finley::util::addScatter(), Assemble_addToSystemMatrix(), finley::ElementFile::Color, finley::AssembleParameters::elements, finley::AssembleParameters::F, escript::Data::getSampleDataRO(), escript::Data::getSampleDataRW(), INDEX2, escript::Data::isEmpty(), finley::ElementFile::minColor, finley::AssembleParameters::NN, finley::ElementFile::Nodes, finley::AssembleParameters::numComp, finley::ElementFile::numElements, finley::AssembleParameters::numEqu, escript::Data::requireWrite(), finley::AssembleParameters::row_DOF, finley::AssembleParameters::row_DOF_UpperBound, and finley::AssembleParameters::S.
Referenced by Assemble_PDE().
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 | ||
) |
References escript::Data::actsExpanded(), finley::util::addScatter(), Assemble_addToSystemMatrix(), finley::ElementFile_Jacobians::BasisFunctions, finley::AssembleParameters::col_numShapes, finley::AssembleParameters::col_numShapesTotal, finley::ElementFile::Color, DIM, finley::ElementFile_Jacobians::DSDX, finley::AssembleParameters::elements, finley::AssembleParameters::F, escript::Data::getSampleDataRO(), escript::Data::getSampleDataRW(), INDEX2, INDEX3, INDEX4, INDEX5, escript::Data::isEmpty(), finley::ElementFile::minColor, finley::AssembleParameters::NN, finley::ElementFile::Nodes, finley::AssembleParameters::numComp, finley::ElementFile::numElements, finley::AssembleParameters::numEqu, finley::AssembleParameters::numQuadSub, finley::AssembleParameters::numSub, escript::Data::requireWrite(), finley::AssembleParameters::row_DOF, finley::AssembleParameters::row_DOF_UpperBound, finley::AssembleParameters::row_jac, finley::AssembleParameters::row_node, finley::AssembleParameters::row_numShapes, finley::AssembleParameters::row_numShapesTotal, finley::AssembleParameters::S, S, and finley::ElementFile_Jacobians::volume.
Referenced by Assemble_PDE().
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 | ||
) |
References escript::Data::actsExpanded(), finley::util::addScatter(), Assemble_addToSystemMatrix(), finley::ElementFile_Jacobians::BasisFunctions, finley::AssembleParameters::col_numShapes, finley::AssembleParameters::col_numShapesTotal, finley::ElementFile::Color, DIM, finley::ElementFile_Jacobians::DSDX, finley::AssembleParameters::elements, finley::AssembleParameters::F, escript::Data::getSampleDataRO(), escript::Data::getSampleDataRW(), INDEX2, INDEX3, INDEX4, INDEX5, escript::Data::isEmpty(), finley::ElementFile::minColor, finley::AssembleParameters::NN, finley::ElementFile::Nodes, finley::AssembleParameters::numComp, finley::ElementFile::numElements, finley::AssembleParameters::numEqu, finley::AssembleParameters::numQuadSub, finley::AssembleParameters::numSub, escript::Data::requireWrite(), finley::AssembleParameters::row_DOF, finley::AssembleParameters::row_DOF_UpperBound, finley::AssembleParameters::row_jac, finley::AssembleParameters::row_node, finley::AssembleParameters::row_numShapes, finley::AssembleParameters::row_numShapesTotal, finley::AssembleParameters::S, S, and finley::ElementFile_Jacobians::volume.
Referenced by Assemble_PDE().
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 | ||
) |
References escript::Data::actsExpanded(), finley::util::addScatter(), Assemble_addToSystemMatrix(), finley::ElementFile_Jacobians::BasisFunctions, finley::AssembleParameters::col_numShapes, finley::AssembleParameters::col_numShapesTotal, finley::ElementFile::Color, DIM, finley::ElementFile_Jacobians::DSDX, finley::AssembleParameters::elements, finley::AssembleParameters::F, escript::Data::getSampleDataRO(), escript::Data::getSampleDataRW(), INDEX2, INDEX3, INDEX4, INDEX5, escript::Data::isEmpty(), finley::ElementFile::minColor, finley::AssembleParameters::NN, finley::ElementFile::Nodes, finley::AssembleParameters::numComp, finley::ElementFile::numElements, finley::AssembleParameters::numEqu, finley::AssembleParameters::numQuadSub, finley::AssembleParameters::numSub, escript::Data::requireWrite(), finley::AssembleParameters::row_DOF, finley::AssembleParameters::row_DOF_UpperBound, finley::AssembleParameters::row_jac, finley::AssembleParameters::row_node, finley::AssembleParameters::row_numShapes, finley::AssembleParameters::row_numShapesTotal, finley::AssembleParameters::S, S, and finley::ElementFile_Jacobians::volume.
Referenced by Assemble_PDE().
void finley::Assemble_PDE_Single_C | ( | const AssembleParameters & | p, |
const escript::Data & | D, | ||
const escript::Data & | Y | ||
) |
References escript::Data::actsExpanded(), finley::util::addScatter(), Assemble_addToSystemMatrix(), finley::ElementFile_Jacobians::BasisFunctions, finley::AssembleParameters::col_numShapes, finley::AssembleParameters::col_numShapesTotal, finley::ElementFile::Color, finley::AssembleParameters::elements, finley::AssembleParameters::F, escript::Data::getSampleDataRO(), escript::Data::getSampleDataRW(), INDEX2, INDEX3, INDEX4, escript::Data::isEmpty(), finley::ElementFile::minColor, finley::AssembleParameters::NN, finley::ElementFile::Nodes, finley::AssembleParameters::numComp, finley::ElementFile::numElements, finley::AssembleParameters::numEqu, finley::AssembleParameters::numQuadSub, finley::AssembleParameters::numSub, escript::Data::requireWrite(), finley::AssembleParameters::row_DOF, finley::AssembleParameters::row_DOF_UpperBound, finley::AssembleParameters::row_jac, finley::AssembleParameters::row_node, finley::AssembleParameters::row_numShapes, finley::AssembleParameters::row_numShapesTotal, finley::AssembleParameters::S, S, and finley::ElementFile_Jacobians::volume.
Referenced by Assemble_PDE().
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 | ||
) |
References escript::Data::actsExpanded(), finley::util::addScatter(), Assemble_addToSystemMatrix(), finley::ElementFile_Jacobians::BasisFunctions, finley::AssembleParameters::col_numShapes, finley::AssembleParameters::col_numShapesTotal, finley::ElementFile::Color, DIM, finley::ElementFile_Jacobians::DSDX, finley::AssembleParameters::elements, finley::AssembleParameters::F, escript::Data::getSampleDataRO(), escript::Data::getSampleDataRW(), INDEX2, INDEX3, INDEX4, INDEX5, INDEX6, escript::Data::isEmpty(), finley::ElementFile::minColor, finley::AssembleParameters::NN, finley::ElementFile::Nodes, finley::AssembleParameters::numComp, finley::ElementFile::numElements, finley::AssembleParameters::numEqu, finley::AssembleParameters::numQuadSub, finley::AssembleParameters::numSub, escript::Data::requireWrite(), finley::AssembleParameters::row_DOF, finley::AssembleParameters::row_DOF_UpperBound, finley::AssembleParameters::row_jac, finley::AssembleParameters::row_node, finley::AssembleParameters::row_numShapes, finley::AssembleParameters::row_numShapesTotal, finley::AssembleParameters::S, S, and finley::ElementFile_Jacobians::volume.
Referenced by Assemble_PDE().
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 | ||
) |
References escript::Data::actsExpanded(), finley::util::addScatter(), Assemble_addToSystemMatrix(), finley::ElementFile_Jacobians::BasisFunctions, finley::AssembleParameters::col_numShapes, finley::AssembleParameters::col_numShapesTotal, finley::ElementFile::Color, DIM, finley::ElementFile_Jacobians::DSDX, finley::AssembleParameters::elements, finley::AssembleParameters::F, escript::Data::getSampleDataRO(), escript::Data::getSampleDataRW(), INDEX2, INDEX3, INDEX4, INDEX5, INDEX6, escript::Data::isEmpty(), finley::ElementFile::minColor, finley::AssembleParameters::NN, finley::ElementFile::Nodes, finley::AssembleParameters::numComp, finley::ElementFile::numElements, finley::AssembleParameters::numEqu, finley::AssembleParameters::numQuadSub, finley::AssembleParameters::numSub, escript::Data::requireWrite(), finley::AssembleParameters::row_DOF, finley::AssembleParameters::row_DOF_UpperBound, finley::AssembleParameters::row_jac, finley::AssembleParameters::row_node, finley::AssembleParameters::row_numShapes, finley::AssembleParameters::row_numShapesTotal, finley::AssembleParameters::S, S, and finley::ElementFile_Jacobians::volume.
Referenced by Assemble_PDE().
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 | ||
) |
References escript::Data::actsExpanded(), finley::util::addScatter(), Assemble_addToSystemMatrix(), finley::ElementFile_Jacobians::BasisFunctions, finley::AssembleParameters::col_numShapes, finley::AssembleParameters::col_numShapesTotal, finley::ElementFile::Color, DIM, finley::ElementFile_Jacobians::DSDX, finley::AssembleParameters::elements, finley::AssembleParameters::F, escript::Data::getSampleDataRO(), escript::Data::getSampleDataRW(), INDEX2, INDEX3, INDEX4, INDEX5, INDEX6, escript::Data::isEmpty(), finley::ElementFile::minColor, finley::AssembleParameters::NN, finley::ElementFile::Nodes, finley::AssembleParameters::numComp, finley::ElementFile::numElements, finley::AssembleParameters::numEqu, finley::AssembleParameters::numQuadSub, finley::AssembleParameters::numSub, escript::Data::requireWrite(), finley::AssembleParameters::row_DOF, finley::AssembleParameters::row_DOF_UpperBound, finley::AssembleParameters::row_jac, finley::AssembleParameters::row_node, finley::AssembleParameters::row_numShapes, finley::AssembleParameters::row_numShapesTotal, finley::AssembleParameters::S, S, and finley::ElementFile_Jacobians::volume.
Referenced by Assemble_PDE().
void finley::Assemble_PDE_System_C | ( | const AssembleParameters & | p, |
const escript::Data & | D, | ||
const escript::Data & | Y | ||
) |
References escript::Data::actsExpanded(), finley::util::addScatter(), Assemble_addToSystemMatrix(), finley::ElementFile_Jacobians::BasisFunctions, finley::AssembleParameters::col_numShapes, finley::AssembleParameters::col_numShapesTotal, finley::ElementFile::Color, finley::AssembleParameters::elements, finley::AssembleParameters::F, escript::Data::getSampleDataRO(), escript::Data::getSampleDataRW(), INDEX2, INDEX3, INDEX4, escript::Data::isEmpty(), finley::ElementFile::minColor, finley::AssembleParameters::NN, finley::ElementFile::Nodes, finley::AssembleParameters::numComp, finley::ElementFile::numElements, finley::AssembleParameters::numEqu, finley::AssembleParameters::numQuadSub, finley::AssembleParameters::numSub, escript::Data::requireWrite(), finley::AssembleParameters::row_DOF, finley::AssembleParameters::row_DOF_UpperBound, finley::AssembleParameters::row_jac, finley::AssembleParameters::row_node, finley::AssembleParameters::row_numShapes, finley::AssembleParameters::row_numShapesTotal, finley::AssembleParameters::S, S, and finley::ElementFile_Jacobians::volume.
Referenced by Assemble_PDE().
escript::Domain_ptr finley::brick | ( | int | n0 = 1 , |
int | n1 = 1 , |
||
int | 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].
n0,n1,n2 | number of elements in each dimension |
order | =1, =-1 or =2 gives the order of shape function (-1= macro elements of order 1) |
l0,l1,l2 | length of each side of brick |
periodic0,periodic1,periodic2 | whether or not boundary conditions of the dimension are periodic |
integrationOrder | order of the quadrature scheme. If integrationOrder<0 the integration order is selected independently. |
reducedIntegrationOrder | order of the reduced quadrature scheme. If reducedIntegrationOrder<0 the integration order is selected independently. |
useElementsOnFace | whether or not to use elements on face |
useFullElementOrder | whether to use second order elements |
optimize | whether 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()
args | see brick() definition for order of params |
References dudley::brick().
Referenced by BOOST_PYTHON_MODULE().
void finley::checkFinleyError | ( | ) |
References getErrorMessage(), noError(), and resetError().
Referenced by finley::MeshAdapter::addDiracPoints(), finley::MeshAdapter::addPDEToLumpedSystem(), finley::MeshAdapter::addPDEToRHS(), finley::MeshAdapter::addPDEToSystem(), finley::MeshAdapter::addPDEToTransportProblem(), brick(), finley::MeshAdapter::dump(), finley::MeshAdapter::getTag(), glueFaces(), finley::MeshAdapter::interpolateOnDomain(), joinFaces(), loadMesh(), meshMerge(), finley::MeshAdapter::newSystemMatrix(), finley::MeshAdapter::newTransportProblem(), readGmsh(), readMesh(), rectangle(), finley::MeshAdapter::setNewX(), finley::MeshAdapter::setTagMap(), finley::MeshAdapter::setTags(), finley::MeshAdapter::setToGradient(), finley::MeshAdapter::setToIntegrals(), finley::MeshAdapter::setToNormal(), finley::MeshAdapter::setToSize(), finley::MeshAdapter::setToX(), and finley::MeshAdapter::write().
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, |
Esys_MPIInfo * | info, | ||
string | msg | ||
) | [inline] |
References Esys_MPIInfo_free().
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().
static void finley::gatherEntries | ( | int | n, |
const int * | index, | ||
int | min_index, | ||
int | max_index, | ||
int * | Id_out, | ||
int * | Id_in, | ||
int * | Tag_out, | ||
int * | Tag_in, | ||
int * | globalDegreesOfFreedom_out, | ||
int * | globalDegreesOfFreedom_in, | ||
int | numDim, | ||
double * | Coordinates_out, | ||
double * | Coordinates_in | ||
) | [static] |
References INDEX2.
Referenced by finley::NodeFile::gather(), and finley::NodeFile::gather_global().
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().
char * finley::getErrorMessage | ( | void | ) |
returns the error code
References Esys_getErrorType().
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.
meshList | Input - The list of meshes. |
safetyFactor | Input - ?? |
tolerance | Input - ?? |
optimize | Input - switches on the optimization of node labels |
References checkFinleyError(), finley::MeshAdapter::getFinley_Mesh(), finley::Mesh::glueFaces(), and meshMerge().
Referenced by BOOST_PYTHON_MODULE().
void finley::IndexList_insertElements | ( | IndexListArray & | index_list, |
ElementFile * | elements, | ||
bool | reduce_row_order, | ||
const int * | row_map, | ||
bool | reduce_col_order, | ||
const int * | col_map | ||
) |
void finley::IndexList_insertElementsWithRowRangeNoMainDiagonal | ( | IndexListArray & | index_list, |
int | firstRow, | ||
int | lastRow, | ||
ElementFile * | elements, | ||
int * | row_map, | ||
int * | 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.
meshList | Input - The list of meshes. |
safetyFactor | Input - ?? |
tolerance | Input - ?? |
optimize | Input - switches on the optimization of node labels |
References checkFinleyError(), finley::MeshAdapter::getFinley_Mesh(), finley::Mesh::joinFaces(), and meshMerge().
Referenced by BOOST_PYTHON_MODULE().
escript::Domain_ptr finley::loadMesh | ( | const std::string & | fileName | ) |
A suite of factory methods for creating various MeshAdapters.
Description: A suite of factory methods for creating various MeshAdapters.
recovers mesg from a dump file
fileName | Input - The name of the file. |
References finley::Mesh::addTagMap(), finley::NodeFile::allocTable(), finley::ElementFile::allocTable(), esysUtils::appendRankToFileName(), blocktimer_increment(), blocktimer_time(), checkFinleyError(), dudley::cleanupAndThrow(), finley::ElementFile::Color, finley::Mesh::ContactElements, finley::NodeFile::Coordinates, finley::Mesh::createMappings(), ripley::Elements, finley::Mesh::Elements, Esys_MPIInfo_alloc(), Esys_MPIInfo_free(), ripley::FaceElements, finley::Mesh::FaceElements, finley::NodeFile::globalDegreesOfFreedom, finley::NodeFile::globalNodesIndex, finley::NodeFile::globalReducedDOFIndex, finley::NodeFile::globalReducedNodesIndex, finley::ElementFile::Id, finley::NodeFile::Id, INDEX2, IO_ERROR, LenErrorMsg_MAX, finley::ElementFile::maxColor, finley::ElementFile::minColor, MPI_COMM_WORLD, finley::ElementFile::Nodes, finley::Mesh::Nodes, noError(), finley::ElementFile::Owner, ripley::Points, finley::Mesh::Points, Esys_MPIInfo::rank, resetError(), setError(), Esys_MPIInfo::size, finley::ElementFile::Tag, finley::NodeFile::Tag, finley::NodeFile::updateTagList(), and finley::ElementFile::updateTagList().
Referenced by BOOST_PYTHON_MODULE().
Mesh * finley::Mesh_merge | ( | const std::vector< Mesh * > & | meshes | ) |
References finley::NodeFile::allocTable(), finley::ElementFile::allocTable(), Esys_MPIInfo::comm, finley::Mesh::ContactElements, finley::NodeFile::copyTable(), finley::ElementFile::copyTable(), ripley::Elements, finley::Mesh::Elements, ripley::FaceElements, finley::Mesh::FaceElements, finley::util::getMaxInt(), MAX, ripley::Nodes, finley::Mesh::Nodes, noError(), NoRef, ripley::Points, finley::Mesh::Points, finley::Mesh::prepare(), setError(), TYPE_ERROR, and VALUE_ERROR.
Referenced by meshMerge().
escript::Domain_ptr finley::meshMerge | ( | const boost::python::list & | meshList | ) |
Merges a list of meshes into one list.
meshList | Input - The list of meshes. |
References checkFinleyError(), and Mesh_merge().
Referenced by BOOST_PYTHON_MODULE(), glueFaces(), and joinFaces().
bool finley::MPI_noError | ( | Esys_MPIInfo * | mpi_info | ) |
References Esys_MPIInfo_noError().
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(), finley::Mesh::getPattern(), 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::readGmsh(), 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, |
double * | quadNodes, | ||
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, |
double * | quadNodes, | ||
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, |
double * | quadNodes, | ||
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, |
double * | quadNodes, | ||
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, |
double * | quadNodes, | ||
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, |
double * | quadNodes, | ||
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 | ) |
References MAX_numQuadNodesLine, resetError(), setError(), and VALUE_ERROR.
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 | ||
) |
References DIM, HALF, INDEX2, INDEX3, INDEX4, MEMORY_ERROR, setError(), TWO, and VALUE_ERROR.
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, INDEX4, MEMORY_ERROR, and setError().
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 | ||
) |
References DIM, HALF, INDEX2, INDEX3, INDEX4, MEMORY_ERROR, setError(), TWO, and VALUE_ERROR.
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, MEMORY_ERROR, setError(), TWO, and VALUE_ERROR.
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, MEMORY_ERROR, setError(), TWO, and VALUE_ERROR.
void finley::Quad_makeNodesOnFace | ( | int | , |
int | , | ||
double * | , | ||
double * | , | ||
Quad_getNodes | |||
) |
const QuadInfo * finley::QuadInfo_getInfo | ( | QuadTypeId | id | ) |
References NoQuad, QuadInfoList, setError(), and VALUE_ERROR.
Referenced by finley::ReferenceElement::ReferenceElement().
escript::Domain_ptr finley::readGmsh | ( | const std::string & | fileName, |
int | numDim, | ||
int | integrationOrder = -1 , |
||
int | reducedIntegrationOrder = -1 , |
||
bool | optimize = false , |
||
bool | useMacroElements = false |
||
) |
Read a gmsh mesh file.
fileName | Input - The name of the file. |
numDim | Input - spatial dimension |
integrationOrder | Input - order of the quadrature scheme. If integrationOrder<0 the integration order is selected independently. |
reducedIntegrationOrder | Input - order of the reduced quadrature scheme. If reducedIntegrationOrder<0 the integration order is selected independently. |
optimize | Input - switches on the optimization of node labels |
useMacroElements |
References blocktimer_increment(), blocktimer_time(), checkFinleyError(), and dudley::readGmsh().
Referenced by BOOST_PYTHON_MODULE().
escript::Domain_ptr finley::readMesh | ( | const std::string & | fileName, |
int | integrationOrder = -1 , |
||
int | reducedIntegrationOrder = -1 , |
||
bool | optimize = false |
||
) |
Read a mesh from a file. For MPI parallel runs fan out the mesh to multiple processes.
fileName | Input - The name of the file. |
integrationOrder | Input - order of the quadrature scheme. If integrationOrder<0 the integration order is selected independently. |
reducedIntegrationOrder | Input - order of the reduced quadrature scheme. If reducedIntegrationOrder<0 the integration order is selected independently. |
optimize | Input - switches on the optimization of node labels |
References blocktimer_increment(), blocktimer_time(), and checkFinleyError().
Referenced by BOOST_PYTHON_MODULE().
escript::Domain_ptr finley::rectangle | ( | int | n0 = 1 , |
int | 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 rectangular mesh with n0 x n1 elements over the brick [0,l0] x [0,l1].
n0,n1 | number of elements in each dimension |
l0,l1 | length of each side of brick |
order | =1, =-1 or =2 gives the order of shape function (-1= macro elements of order 1) |
periodic0,periodic1 | whether or not the boundary conditions of the dimension are periodic |
integrationOrder | order of the quadrature scheme. If integrationOrder<0 the integration order is selected independently. |
reducedIntegrationOrder | order of the reduced quadrature scheme. If reducedIntegrationOrder<0 the integration order is selected independently. |
useElementsOnFace | whether 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()
args | see rectangle() definition for order of params |
References dudley::rectangle().
Referenced by BOOST_PYTHON_MODULE().
Mesh * finley::RectangularMesh_Hex20 | ( | const int * | numElements, |
const double * | Length, | ||
const bool * | periodic, | ||
int | order, | ||
int | reduced_order, | ||
bool | useElementsOnFace, | ||
bool | useFullElementOrder, | ||
bool | useMacroElements, | ||
bool | optimize | ||
) |
References finley::Mesh::addTagMap(), finley::NodeFile::allocTable(), finley::ElementFile::allocTable(), finley::NodeFile::Coordinates, DBLE, DIM, finley::Mesh::Elements, Esys_MPIInfo_alloc(), Esys_MPIInfo_free(), Esys_MPIInfo_Split(), finley::Mesh::FaceElements, finley::NodeFile::globalDegreesOfFreedom, Hex20, Hex20Face, Hex20Face_Contact, Hex27, Hex27Macro, finley::ElementFile::Id, finley::NodeFile::Id, INDEX2, MAX, MAX3, MPI_COMM_WORLD, N_PER_E, finley::ElementFile::Nodes, finley::Mesh::Nodes, noError(), finley::ElementFile::numNodes, finley::ElementFile::Owner, Point1, finley::Mesh::prepare(), Esys_MPIInfo::rank, Rec8, Rec8_Contact, Rec9, Rec9_Contact, Rec9Macro, finley::Mesh::resolveNodeIds(), finley::Mesh::setContactElements(), finley::Mesh::setElements(), setError(), finley::Mesh::setFaceElements(), finley::Mesh::setPoints(), SYSTEM_ERROR, finley::ElementFile::Tag, finley::NodeFile::Tag, and timer().
Referenced by brick().
Mesh * finley::RectangularMesh_Hex8 | ( | const int * | numElements, |
const double * | Length, | ||
const bool * | periodic, | ||
int | order, | ||
int | reduced_order, | ||
bool | useElementsOnFace, | ||
bool | useFullElementOrder, | ||
bool | optimize | ||
) |
References finley::Mesh::addTagMap(), finley::NodeFile::allocTable(), finley::ElementFile::allocTable(), finley::NodeFile::Coordinates, DBLE, DIM, finley::Mesh::Elements, Esys_MPIInfo_alloc(), Esys_MPIInfo_free(), Esys_MPIInfo_Split(), finley::Mesh::FaceElements, finley::NodeFile::globalDegreesOfFreedom, Hex8, Hex8Face, Hex8Face_Contact, finley::ElementFile::Id, finley::NodeFile::Id, INDEX2, MAX3, MPI_COMM_WORLD, N_PER_E, finley::ElementFile::Nodes, finley::Mesh::Nodes, noError(), finley::ElementFile::numNodes, finley::ElementFile::Owner, Point1, finley::Mesh::prepare(), Esys_MPIInfo::rank, Rec4, Rec4_Contact, finley::Mesh::resolveNodeIds(), finley::Mesh::setContactElements(), finley::Mesh::setElements(), finley::Mesh::setFaceElements(), finley::Mesh::setPoints(), finley::ElementFile::Tag, finley::NodeFile::Tag, and timer().
Referenced by brick().
Mesh * finley::RectangularMesh_Rec4 | ( | const int * | numElements, |
const double * | Length, | ||
const bool * | periodic, | ||
int | order, | ||
int | reduced_order, | ||
bool | useElementsOnFace, | ||
bool | useFullElementOrder, | ||
bool | optimize | ||
) |
References finley::Mesh::addTagMap(), finley::NodeFile::allocTable(), finley::ElementFile::allocTable(), finley::NodeFile::Coordinates, DBLE, DIM, finley::Mesh::Elements, Esys_MPIInfo_alloc(), Esys_MPIInfo_free(), Esys_MPIInfo_Split(), finley::Mesh::FaceElements, finley::NodeFile::globalDegreesOfFreedom, finley::ElementFile::Id, finley::NodeFile::Id, INDEX2, Line2, Line2_Contact, MAX, MPI_COMM_WORLD, N_PER_E, finley::ElementFile::Nodes, finley::Mesh::Nodes, noError(), finley::ElementFile::numNodes, finley::ElementFile::Owner, Point1, finley::Mesh::prepare(), Esys_MPIInfo::rank, Rec4, Rec4Face, Rec4Face_Contact, finley::Mesh::resolveNodeIds(), finley::Mesh::setContactElements(), finley::Mesh::setElements(), finley::Mesh::setFaceElements(), finley::Mesh::setPoints(), finley::ElementFile::Tag, finley::NodeFile::Tag, and timer().
Referenced by rectangle().
Mesh * finley::RectangularMesh_Rec8 | ( | const int * | numElements, |
const double * | Length, | ||
const bool * | periodic, | ||
int | order, | ||
int | reduced_order, | ||
bool | useElementsOnFace, | ||
bool | useFullElementOrder, | ||
bool | useMacroElements, | ||
bool | optimize | ||
) |
References finley::Mesh::addTagMap(), finley::NodeFile::allocTable(), finley::ElementFile::allocTable(), finley::NodeFile::Coordinates, DBLE, DIM, finley::Mesh::Elements, Esys_MPIInfo_alloc(), Esys_MPIInfo_free(), Esys_MPIInfo_Split(), finley::Mesh::FaceElements, finley::NodeFile::globalDegreesOfFreedom, finley::ElementFile::Id, finley::NodeFile::Id, INDEX2, Line3, Line3_Contact, Line3Macro, MAX, MPI_COMM_WORLD, N_PER_E, finley::ElementFile::Nodes, finley::Mesh::Nodes, noError(), finley::ElementFile::numNodes, finley::ElementFile::Owner, Point1, finley::Mesh::prepare(), Esys_MPIInfo::rank, Rec8, Rec8Face, Rec8Face_Contact, Rec9, Rec9Macro, finley::Mesh::resolveNodeIds(), finley::Mesh::setContactElements(), finley::Mesh::setElements(), setError(), finley::Mesh::setFaceElements(), finley::Mesh::setPoints(), SYSTEM_ERROR, finley::ElementFile::Tag, finley::NodeFile::Tag, and timer().
Referenced by rectangle().
void finley::resetError | ( | ) |
resets the error to NO_ERROR
References Esys_resetError().
Referenced by Assemble_AverageElementData(), Assemble_CopyElementData(), Assemble_CopyNodalData(), Assemble_getNormal(), Assemble_getSize(), Assemble_gradient(), Assemble_integrate(), Assemble_interpolate(), Assemble_LumpedSystem(), Assemble_NodeCoordinates(), Assemble_PDE(), finley::AssembleParameters::AssembleParameters(), checkFinleyError(), finley::Mesh::getPattern(), loadMesh(), finley::Mesh::makePattern(), Quad_getNumNodesLine(), finley::Mesh::read(), finley::Mesh::readGmsh(), finley::NodeFile::setTags(), and finley::ElementFile::setTags().
static void finley::scatterEntries | ( | int | n, |
int * | index, | ||
int | min_index, | ||
int | max_index, | ||
int * | Id_out, | ||
int * | Id_in, | ||
int * | Tag_out, | ||
int * | Tag_in, | ||
int * | globalDegreesOfFreedom_out, | ||
int * | globalDegreesOfFreedom_in, | ||
int | numDim, | ||
double * | Coordinates_out, | ||
double * | Coordinates_in | ||
) | [static] |
References INDEX2.
Referenced by finley::NodeFile::gather_global(), and finley::NodeFile::scatter().
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(), loadMesh(), 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::readGmsh(), 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, |
double * | v, | ||
double * | s, | ||
double * | dsdv | ||
) |
void finley::Shape_Hex27 | ( | int | NumV, |
double * | v, | ||
double * | s, | ||
double * | dsdv | ||
) |
void finley::Shape_Hex32 | ( | int | NumV, |
double * | v, | ||
double * | s, | ||
double * | dsdv | ||
) |
void finley::Shape_Hex8 | ( | int | NumV, |
double * | v, | ||
double * | s, | ||
double * | dsdv | ||
) |
void finley::Shape_Line2 | ( | int | NumV, |
double * | v, | ||
double * | s, | ||
double * | dsdv | ||
) |
void finley::Shape_Line3 | ( | int | NumV, |
double * | v, | ||
double * | s, | ||
double * | dsdv | ||
) |
void finley::Shape_Line4 | ( | int | NumV, |
double * | v, | ||
double * | s, | ||
double * | dsdv | ||
) |
void finley::Shape_Point1 | ( | int | NumV, |
double * | v, | ||
double * | s, | ||
double * | dsdv | ||
) |
References S.
void finley::Shape_Rec12 | ( | int | NumV, |
double * | v, | ||
double * | s, | ||
double * | dsdv | ||
) |
void finley::Shape_Rec16 | ( | int | NumV, |
double * | v, | ||
double * | s, | ||
double * | dsdv | ||
) |
void finley::Shape_Rec4 | ( | int | NumV, |
double * | v, | ||
double * | s, | ||
double * | dsdv | ||
) |
void finley::Shape_Rec8 | ( | int | NumV, |
double * | v, | ||
double * | s, | ||
double * | dsdv | ||
) |
void finley::Shape_Rec9 | ( | int | NumV, |
double * | v, | ||
double * | s, | ||
double * | dsdv | ||
) |
void finley::Shape_Tet10 | ( | int | NumV, |
double * | v, | ||
double * | s, | ||
double * | dsdv | ||
) |
void finley::Shape_Tet16 | ( | int | NumV, |
double * | v, | ||
double * | s, | ||
double * | dsdv | ||
) |
void finley::Shape_Tet4 | ( | int | NumV, |
double * | v, | ||
double * | s, | ||
double * | dsdv | ||
) |
void finley::Shape_Tri10 | ( | int | NumV, |
double * | v, | ||
double * | s, | ||
double * | dsdv | ||
) |
void finley::Shape_Tri3 | ( | int | NumV, |
double * | v, | ||
double * | s, | ||
double * | dsdv | ||
) |
void finley::Shape_Tri6 | ( | int | NumV, |
double * | v, | ||
double * | s, | ||
double * | dsdv | ||
) |
void finley::Shape_Tri9 | ( | int | NumV, |
double * | v, | ||
double * | s, | ||
double * | dsdv | ||
) |
double finley::timer | ( | ) |
returns a time mark
References Esys_timer().
Referenced by finley::Mesh::readGmsh(), RectangularMesh_Hex20(), RectangularMesh_Hex8(), RectangularMesh_Rec4(), and RectangularMesh_Rec8().
double finley::lockingGridSize = 0. [static] |
Referenced by FaceCenterCompare(), and finley::Mesh::findMatchingFaces().
Referenced by Quad_getNodesTet().
Referenced by Quad_getNodesHex(), and Quad_getNodesRec().
Referenced by Quad_getNodesTri().
Referenced by Quad_getNumNodesHex(), Quad_getNumNodesRec(), Quad_getNumNodesTet(), and Quad_getNumNodesTri().
const QuadInfo finley::QuadInfoList[] |
{ { PointQuad,"Point", 0, 1, Quad_getNodesPoint, Quad_getNumNodesPoint, Quad_MacroPoint }, { LineQuad, "Line", 1, 2, Quad_getNodesLine, Quad_getNumNodesLine, Quad_MacroLine }, { TriQuad, "Tri", 2, 3, Quad_getNodesTri, Quad_getNumNodesTri, Quad_MacroTri }, { RecQuad, "Rec", 2, 4, Quad_getNodesRec, Quad_getNumNodesRec, Quad_MacroRec }, { TetQuad, "Tet", 3, 4, Quad_getNodesTet, Quad_getNumNodesTet, Quad_MacroTet }, { HexQuad, "Hex", 3, 8, Quad_getNodesHex, Quad_getNumNodesHex, Quad_MacroHex }, { NoQuad, "NoType", 0, 1, Quad_getNodesPoint, Quad_getNumNodesPoint, Quad_MacroPoint } }
Referenced by QuadInfo_getInfo().
this list has been generated by generateReferenceElementList.py
Referenced by finley::ReferenceElement::getInfo(), finley::ReferenceElement::getTypeId(), and finley::ReferenceElement::ReferenceElement().
{ { 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 } }
Referenced by finley::ShapeFunction::getInfo(), finley::ShapeFunction::getTypeId(), and finley::ShapeFunction::ShapeFunction().