ESScript  Revision_4488
Namespaces | Classes | Typedefs | Functions
finley Namespace Reference

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...
class  ReferenceElementSetWrapper
struct  ElementFile_Jacobians
class  ElementFile
class  NodeFile

Typedefs

typedef std::list< int > IndexList
typedef std::map< std::string,
int > 
TagMap

Functions

void Assemble_PDE (NodeFile *nodes, ElementFile *elements, Paso_SystemMatrix *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, escript::Data &d_dirac, escript::Data &y_dirac)
void Assemble_PDE_Single_1D (const AssembleParameters &p, escript::Data &A, escript::Data &B, escript::Data &C, escript::Data &D, escript::Data &X, escript::Data &Y)
void Assemble_PDE_Single_2D (const AssembleParameters &p, escript::Data &A, escript::Data &B, escript::Data &C, escript::Data &D, escript::Data &X, escript::Data &Y)
void Assemble_PDE_Single_3D (const AssembleParameters &p, escript::Data &A, escript::Data &B, escript::Data &C, escript::Data &D, escript::Data &X, escript::Data &Y)
void Assemble_PDE_Single_C (const AssembleParameters &p, escript::Data &D, escript::Data &Y)
void Assemble_PDE_System_1D (const AssembleParameters &p, escript::Data &A, escript::Data &B, escript::Data &C, escript::Data &D, escript::Data &X, escript::Data &Y)
void Assemble_PDE_System_2D (const AssembleParameters &p, escript::Data &A, escript::Data &B, escript::Data &C, escript::Data &D, escript::Data &X, escript::Data &Y)
void Assemble_PDE_System_3D (const AssembleParameters &p, escript::Data &A, escript::Data &B, escript::Data &C, escript::Data &D, escript::Data &X, escript::Data &Y)
void Assemble_PDE_System_C (const AssembleParameters &p, escript::Data &D, escript::Data &Y)
void Assemble_addToSystemMatrix (Paso_SystemMatrix *, 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 (NodeFile *nodes, ElementFile *elements, escript::Data &lumpedMat, const escript::Data &D, bool useHRZ)
void Assemble_AverageElementData (ElementFile *, escript::Data &, const escript::Data &)
void Assemble_CopyElementData (ElementFile *, escript::Data &, const escript::Data &)
void Assemble_CopyNodalData (NodeFile *, escript::Data &, const escript::Data &)
void Assemble_NodeCoordinates (NodeFile *, escript::Data &)
void Assemble_gradient (NodeFile *, ElementFile *, escript::Data &, const escript::Data &)
void Assemble_integrate (NodeFile *, ElementFile *, const escript::Data &, double *)
void Assemble_interpolate (NodeFile *, ElementFile *, const escript::Data &, escript::Data &)
void Assemble_setNormal (NodeFile *, ElementFile *, escript::Data &)
void Assemble_getSize (NodeFile *, ElementFile *, escript::Data &)
void Assemble_jacobians_1D (double *, int, double *, int, int, int, int *, double *, int, double *, double *, double *, int *)
void Assemble_jacobians_2D (double *, int, double *, int, int, int, int *, double *, int, double *, double *, double *, int *)
void Assemble_jacobians_2D_M1D_E2D (double *, int, double *, int, int, int, int *, double *, int, double *, double *, double *, int *)
void Assemble_jacobians_2D_M1D_E2D_C (double *, int, double *, int, int, int, int *, double *, int, double *, double *, double *, int *)
void Assemble_jacobians_2D_M1D_E1D (double *, int, double *, int, int, int, int *, double *, int, double *, double *, double *, int *)
void Assemble_jacobians_2D_M1D_E1D_C (double *, int, double *, int, int, int, int *, double *, int, double *, double *, double *, int *)
void Assemble_jacobians_3D (double *, int, double *, int, int, int, int *, double *, int, double *, double *, double *, int *)
void Assemble_jacobians_3D_M2D_E3D (double *, int, double *, int, int, int, int *, double *, int, double *, double *, double *, int *)
void Assemble_jacobians_3D_M2D_E3D_C (double *, int, double *, int, int, int, int *, double *, int, double *, double *, double *, int *)
void Assemble_jacobians_3D_M2D_E2D (double *, int, double *, int, int, int, int *, double *, int, double *, double *, double *, int *)
void Assemble_jacobians_3D_M2D_E2D_C (double *, int, double *, int, int, int, int *, double *, int, double *, double *, double *, int *)
void Assemble_addToSystemMatrix_CSC (Paso_SystemMatrix *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 *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 *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)
void setFinleyError (Finley_ErrorCodeType errorCode, const std::string &errMess)
 Provide a C++ interface to the finley C funcion of the same name. Needed because of constness problems.
void checkFinleyError ()
 Convert a C finley error into a C++ exception.
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, int periodic0=0, int periodic1=0, int periodic2=0, int integrationOrder=-1, int reducedIntegrationOrder=-1, int useElementsOnFace=0, int useFullElementOrder=0, int optimize=0, 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, int periodic0=false, int periodic1=false, int integrationOrder=-1, int reducedIntegrationOrder=-1, int useElementsOnFace=0, int useFullElementOrder=0, int optimize=0, 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 (Finley_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, int optimize=0)
 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, int optimize=0, int useMacroElements=0)
 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, int optimize=0)
 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, int optimize=0)
 Detects matching faces in the mesh and replaces them by joint elements.
void IndexList_insertElements (IndexList *index_list, ElementFile *elements, bool reduce_row_order, int *row_map, bool reduce_col_order, int *col_map)
void IndexList_insertElementsWithRowRangeNoMainDiagonal (IndexList *index_list, int firstRow, int lastRow, ElementFile *elements, int *row_map, int *col_map)
void IndexList_insertIndex (IndexList &in, int index)
 inserts a row index into the IndexList in if it does not exist
int IndexList_count (const IndexList &in, int range_min, int range_max)
 counts the number of row indices in the IndexList in
void IndexList_toArray (const IndexList &in, int *array, int range_min, int range_max, int index_offset)
 count the number of row indices in the IndexList in
Paso_PatternIndexList_createPattern (int n0, int n, const IndexList *index_list, int range_min, int range_max, int index_offset)
 creates a Paso_pattern from a range of indices
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, 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)

Typedef Documentation

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

Function Documentation

void finley::Assemble_addToSystemMatrix ( Paso_SystemMatrix 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 finley::Assemble_addToSystemMatrix_CSC ( Paso_SystemMatrix 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 finley::Assemble_addToSystemMatrix_CSR ( Paso_SystemMatrix 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 finley::Assemble_addToSystemMatrix_Trilinos ( Paso_SystemMatrix 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 finley::Assemble_AverageElementData ( ElementFile *  elements,
escript::Data out,
const escript::Data in 
)
void finley::Assemble_CopyElementData ( ElementFile *  elements,
escript::Data out,
const escript::Data in 
)
void finley::Assemble_CopyNodalData ( NodeFile *  nodes,
escript::Data out,
const escript::Data in 
)
void finley::Assemble_getSize ( NodeFile *  nodes,
ElementFile *  elements,
escript::Data out 
)
void finley::Assemble_gradient ( NodeFile *  nodes,
ElementFile *  elements,
escript::Data grad_data,
const escript::Data data 
)

References escript::Data::actsExpanded(), finley::ElementFile_Jacobians::BasisFunctions, Finley_ReferenceElement::BasisFunctions, finley::ElementFile::borrowJacobians(), finley::NodeFile::degreesOfFreedomMapping, finley::ElementFile_Jacobians::DSDX, FINLEY_CONTACT_ELEMENTS_2, FINLEY_DEGREES_OF_FREEDOM, FINLEY_NODES, Finley_noError(), FINLEY_REDUCED_CONTACT_ELEMENTS_2, FINLEY_REDUCED_DEGREES_OF_FREEDOM, FINLEY_REDUCED_NODES, Finley_ReferenceElementSet_borrowReferenceElement(), Finley_resetError(), Finley_setError(), escript::Data::getDataPointSize(), escript::Data::getFunctionSpace(), escript::Data::getSampleDataRO(), escript::Data::getSampleDataRW(), escript::FunctionSpace::getTypeCode(), finley::util::hasReducedIntegrationOrder(), INDEX2, INDEX4, INDEX5, Finley_ReferenceElement::LinearBasisFunctions, Finley_ReferenceElementInfo::linearNodes, finley::ElementFile::MPIInfo, finley::ElementFile::Nodes, finley::NodeFile::nodesMapping, finley::ElementFile_Jacobians::numDim, finley::ElementFile::numElements, finley::ElementFile::numNodes, finley::ElementFile_Jacobians::numQuadTotal, escript::Data::numSamplesEqual(), Finley_ShapeFunctionInfo::numShapes, finley::ElementFile_Jacobians::numShapesTotal, Finley_ReferenceElementInfo::numSides, finley::ElementFile_Jacobians::numSub, Finley_NodeMapping::numTargets, finley::ElementFile_Jacobians::offsets, finley::NodeFile::reducedDegreesOfFreedomMapping, finley::NodeFile::reducedNodesMapping, finley::ElementFile::referenceElementSet, escript::Data::requireWrite(), Esys_MPIInfo::size, Finley_ReferenceElementInfo::subElementNodes, SYSTEM_ERROR, Finley_NodeMapping::target, Finley_ShapeFunction::Type, Finley_ReferenceElement::Type, and TYPE_ERROR.

Referenced by finley::MeshAdapter::setToGradient().

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

References escript::Data::actsExpanded(), Finley_ReferenceElement::BasisFunctions, finley::NodeFile::borrowTargetDegreesOfFreedom(), finley::NodeFile::borrowTargetNodes(), finley::NodeFile::borrowTargetReducedDegreesOfFreedom(), finley::NodeFile::borrowTargetReducedNodes(), FINLEY_CONTACT_ELEMENTS_2, FINLEY_DEGREES_OF_FREEDOM, FINLEY_NODES, Finley_noError(), FINLEY_REDUCED_DEGREES_OF_FREEDOM, FINLEY_REDUCED_NODES, Finley_ReferenceElementSet_borrowReferenceElement(), Finley_resetError(), Finley_setError(), 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_ReferenceElement::LinearBasisFunctions, Finley_ReferenceElementInfo::linearNodes, Finley_ReferenceElement::LinearType, finley::ElementFile::MPIInfo, finley::ElementFile::Nodes, finley::ElementFile::numElements, finley::ElementFile::numNodes, Finley_ShapeFunction::numQuadNodes, escript::Data::numSamplesEqual(), Finley_ShapeFunctionInfo::numShapes, Finley_ReferenceElementInfo::numSides, Finley_ReferenceElementInfo::numSubElements, Finley_ReferenceElementInfo::offsets, finley::ElementFile::referenceElementSet, escript::Data::requireWrite(), Finley_ShapeFunction::S, Esys_MPIInfo::size, finley::util::smallMatSetMult1(), Finley_ReferenceElementInfo::subElementNodes, Finley_ShapeFunction::Type, Finley_ReferenceElement::Type, and TYPE_ERROR.

Referenced by finley::MeshAdapter::interpolateOnDomain().

void finley::Assemble_jacobians_1D ( double *  coordinates,
int  numQuad,
double *  QuadWeights,
int  numShape,
int  numElements,
int  numNodes,
int *  nodes,
double *  DSDv,
int  numTest,
double *  DTDv,
double *  dTdX,
double *  volume,
int *  element_id 
)
void finley::Assemble_jacobians_2D ( double *  coordinates,
int  numQuad,
double *  QuadWeights,
int  numShape,
int  numElements,
int  numNodes,
int *  nodes,
double *  DSDv,
int  numTest,
double *  DTDv,
double *  dTdX,
double *  volume,
int *  element_id 
)
void finley::Assemble_jacobians_2D_M1D_E1D ( double *  coordinates,
int  numQuad,
double *  QuadWeights,
int  numShape,
int  numElements,
int  numNodes,
int *  nodes,
double *  DSDv,
int  numTest,
double *  DTDv,
double *  dTdX,
double *  volume,
int *  element_id 
)
void finley::Assemble_jacobians_2D_M1D_E1D_C ( double *  coordinates,
int  numQuad,
double *  QuadWeights,
int  numShape,
int  numElements,
int  numNodes,
int *  nodes,
double *  DSDv,
int  numTest,
double *  DTDv,
double *  dTdX,
double *  volume,
int *  element_id 
)
void finley::Assemble_jacobians_2D_M1D_E2D ( double *  coordinates,
int  numQuad,
double *  QuadWeights,
int  numShape,
int  numElements,
int  numNodes,
int *  nodes,
double *  DSDv,
int  numTest,
double *  DTDv,
double *  dTdX,
double *  volume,
int *  element_id 
)
void finley::Assemble_jacobians_2D_M1D_E2D_C ( double *  coordinates,
int  numQuad,
double *  QuadWeights,
int  numShape,
int  numElements,
int  numNodes,
int *  nodes,
double *  DSDv,
int  numTest,
double *  DTDv,
double *  dTdX,
double *  volume,
int *  element_id 
)
void finley::Assemble_jacobians_3D ( double *  coordinates,
int  numQuad,
double *  QuadWeights,
int  numShape,
int  numElements,
int  numNodes,
int *  nodes,
double *  DSDv,
int  numTest,
double *  DTDv,
double *  dTdX,
double *  volume,
int *  element_id 
)
void finley::Assemble_jacobians_3D_M2D_E2D ( double *  coordinates,
int  numQuad,
double *  QuadWeights,
int  numShape,
int  numElements,
int  numNodes,
int *  nodes,
double *  DSDv,
int  numTest,
double *  DTDv,
double *  dTdX,
double *  volume,
int *  element_id 
)
void finley::Assemble_jacobians_3D_M2D_E2D_C ( double *  coordinates,
int  numQuad,
double *  QuadWeights,
int  numShape,
int  numElements,
int  numNodes,
int *  nodes,
double *  DSDv,
int  numTest,
double *  DTDv,
double *  dTdX,
double *  volume,
int *  element_id 
)
void finley::Assemble_jacobians_3D_M2D_E3D ( double *  coordinates,
int  numQuad,
double *  QuadWeights,
int  numShape,
int  numElements,
int  numNodes,
int *  nodes,
double *  DSDv,
int  numTest,
double *  DTDv,
double *  dTdX,
double *  volume,
int *  element_id 
)
void finley::Assemble_jacobians_3D_M2D_E3D_C ( double *  coordinates,
int  numQuad,
double *  QuadWeights,
int  numShape,
int  numElements,
int  numNodes,
int *  nodes,
double *  DSDv,
int  numTest,
double *  DTDv,
double *  dTdX,
double *  volume,
int *  element_id 
)
void finley::Assemble_LumpedSystem ( NodeFile *  nodes,
ElementFile *  elements,
escript::Data lumpedMat,
const escript::Data D,
bool  useHRZ 
)
void finley::Assemble_NodeCoordinates ( NodeFile *  nodes,
escript::Data x 
)
void finley::Assemble_PDE ( NodeFile *  nodes,
ElementFile *  elements,
Paso_SystemMatrix 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,
escript::Data d_dirac,
escript::Data y_dirac 
)
void finley::Assemble_PDE_Single_1D ( const AssembleParameters &  p,
escript::Data A,
escript::Data B,
escript::Data C,
escript::Data D,
escript::Data X,
escript::Data Y 
)
void finley::Assemble_PDE_Single_2D ( const AssembleParameters &  p,
escript::Data A,
escript::Data B,
escript::Data C,
escript::Data D,
escript::Data X,
escript::Data Y 
)
void finley::Assemble_PDE_Single_3D ( const AssembleParameters &  p,
escript::Data A,
escript::Data B,
escript::Data C,
escript::Data D,
escript::Data X,
escript::Data Y 
)
void finley::Assemble_PDE_Single_C ( const AssembleParameters &  p,
escript::Data D,
escript::Data Y 
)
void finley::Assemble_PDE_System_1D ( const AssembleParameters &  p,
escript::Data A,
escript::Data B,
escript::Data C,
escript::Data D,
escript::Data X,
escript::Data Y 
)
void finley::Assemble_PDE_System_2D ( const AssembleParameters &  p,
escript::Data A,
escript::Data B,
escript::Data C,
escript::Data D,
escript::Data X,
escript::Data Y 
)
void finley::Assemble_PDE_System_3D ( const AssembleParameters &  p,
escript::Data A,
escript::Data B,
escript::Data C,
escript::Data D,
escript::Data X,
escript::Data Y 
)
void finley::Assemble_PDE_System_C ( const AssembleParameters &  p,
escript::Data D,
escript::Data Y 
)
void finley::Assemble_setNormal ( NodeFile *  nodes,
ElementFile *  elements,
escript::Data normal 
)
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,
int  periodic0 = 0,
int  periodic1 = 0,
int  periodic2 = 0,
int  integrationOrder = -1,
int  reducedIntegrationOrder = -1,
int  useElementsOnFace = 0,
int  useFullElementOrder = 0,
int  optimize = 0,
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(), checkFinleyError(), FALSE, Finley_Mesh_addTagMap(), Finley_RectangularMesh_Hex20(), Finley_RectangularMesh_Hex8(), finley::MeshAdapter::getMesh(), escript::AbstractDomain::getPtr(), setFinleyError(), TRUE, and VALUE_ERROR.

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().

Referenced by BOOST_PYTHON_MODULE().

void finley::checkFinleyError ( )
void finley::cleanupAndThrow ( Finley_Mesh mesh,
Esys_MPIInfo info,
string  msg 
)
inline
static void finley::gatherEntries ( 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
escript::Domain_ptr finley::glueFaces ( const boost::python::list &  meshList,
double  safetyFactor = 0.2,
double  tolerance = 1.e-8,
int  optimize = 0 
)

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(), FALSE, Finley_Mesh_glueFaces(), finley::MeshAdapter::getFinley_Mesh(), meshMerge(), and TRUE.

Referenced by BOOST_PYTHON_MODULE().

int finley::IndexList_count ( const IndexList &  in,
int  range_min,
int  range_max 
)

counts the number of row indices in the IndexList in

Referenced by IndexList_createPattern().

Paso_Pattern * finley::IndexList_createPattern ( int  n0,
int  n,
const IndexList *  index_list,
int  range_min,
int  range_max,
int  index_offset 
)
void finley::IndexList_insertElements ( IndexList *  index_list,
ElementFile *  elements,
bool  reduce_row_order,
int *  row_map,
bool  reduce_col_order,
int *  col_map 
)
void finley::IndexList_insertElementsWithRowRangeNoMainDiagonal ( IndexList *  index_list,
int  firstRow,
int  lastRow,
ElementFile *  elements,
int *  row_map,
int *  col_map 
)
void finley::IndexList_insertIndex ( IndexList &  in,
int  index 
)

inserts a row index into the IndexList in if it does not exist

Referenced by IndexList_insertElements(), and IndexList_insertElementsWithRowRangeNoMainDiagonal().

void finley::IndexList_toArray ( const IndexList &  in,
int *  array,
int  range_min,
int  range_max,
int  index_offset 
)

count the number of row indices in the IndexList in

Referenced by IndexList_createPattern().

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

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(), FALSE, Finley_Mesh_joinFaces(), finley::MeshAdapter::getFinley_Mesh(), meshMerge(), and TRUE.

Referenced by BOOST_PYTHON_MODULE().

escript::Domain_ptr finley::loadMesh ( const std::string &  fileName)
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(), Finley_Mesh_merge(), escript::AbstractDomain::getPtr(), TMPMEMALLOC, and TMPMEMFREE.

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

escript::Domain_ptr finley::readGmsh ( const std::string &  fileName,
int  numDim,
int  integrationOrder = -1,
int  reducedIntegrationOrder = -1,
int  optimize = 0,
int  useMacroElements = 0 
)

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

References blocktimer_increment(), blocktimer_time(), checkFinleyError(), FALSE, Finley_Mesh_readGmsh(), escript::AbstractDomain::getPtr(), TMPMEMALLOC, TMPMEMFREE, and TRUE.

Referenced by BOOST_PYTHON_MODULE().

escript::Domain_ptr finley::readMesh ( const std::string &  fileName,
int  integrationOrder = -1,
int  reducedIntegrationOrder = -1,
int  optimize = 0 
)

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

References blocktimer_increment(), blocktimer_time(), checkFinleyError(), FALSE, Finley_Mesh_read(), escript::AbstractDomain::getPtr(), TMPMEMALLOC, TMPMEMFREE, and TRUE.

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,
int  periodic0 = false,
int  periodic1 = false,
int  integrationOrder = -1,
int  reducedIntegrationOrder = -1,
int  useElementsOnFace = 0,
int  useFullElementOrder = 0,
int  optimize = 0,
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(), checkFinleyError(), FALSE, Finley_Mesh_addTagMap(), Finley_RectangularMesh_Rec4(), Finley_RectangularMesh_Rec8(), finley::MeshAdapter::getMesh(), escript::AbstractDomain::getPtr(), Finley_Mesh::Points, setFinleyError(), TRUE, and VALUE_ERROR.

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

Python driver for rectangle()

Parameters
argssee rectangle() definition for order of params

References dudley::rectangle().

Referenced by BOOST_PYTHON_MODULE().

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
void finley::setFinleyError ( Finley_ErrorCodeType  errorCode,
const std::string &  errMess 
)

Provide a C++ interface to the finley C funcion of the same name. Needed because of constness problems.

References __const, and Finley_setError().

Referenced by brick(), and rectangle().

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

References Finley_setError(), and TYPE_ERROR.

Referenced by Assemble_PDE().

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

References Finley_setError(), and TYPE_ERROR.

Referenced by Assemble_PDE().