ESYS13
Revision_
|
Classes | |
class | FinleyAdapterException |
FinleyAdapterException exception class. More... | |
struct | null_deleter |
class | MeshAdapter |
MeshAdapter implements the AbstractContinuousDomain interface for the Finley library. More... | |
class | ReferenceElementSetWrapper |
Functions | |
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. | |
Variables | |
const boost::python::list | EmptyPythonList = boost::python::list() |
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].
n0,n1,n2 | Input - number of elements in each dimension |
order | Input - =1, =-1 or =2 gives the order of shape function (-1= macro elements of order 1) |
l0,l1,l2 | Input - length of each side of brick |
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. |
useElementsOnFace | Input - whether or not to use elements on face |
periodic0,periodic1,periodic2 | Input - whether or not boundary conditions of the dimension are periodic |
useFullElementOrder | |
optimize |
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()
args | see brick() definition for order of params |
References dudley::brick().
Referenced by BOOST_PYTHON_MODULE().
void finley::checkFinleyError | ( | ) |
Convert a C finley error into a C++ exception.
References Finley_getErrorMessage(), Finley_noError(), and Finley_resetError().
Referenced by finley::MeshAdapter::addDiracPoints(), finley::MeshAdapter::addPDEToLumpedSystem(), finley::MeshAdapter::addPDEToRHS(), finley::MeshAdapter::addPDEToSystem(), finley::MeshAdapter::addPDEToTransportProblem(), brick(), finley::MeshAdapter::dump(), finley::MeshAdapter::getDim(), finley::MeshAdapter::getTag(), glueFaces(), finley::MeshAdapter::interpolateOnDomain(), finley::MeshAdapter::isCellOriented(), joinFaces(), loadMesh(), meshMerge(), finley::MeshAdapter::newSystemMatrix(), finley::MeshAdapter::newTransportProblem(), finley::MeshAdapter::probeInterpolationOnDomain(), readGmsh(), readMesh(), rectangle(), finley::MeshAdapter::saveDX(), 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().
void finley::cleanupAndThrow | ( | Finley_Mesh * | mesh, |
Esys_MPIInfo * | info, | ||
string | msg | ||
) | [inline] |
References Esys_MPIInfo_free(), and Finley_Mesh_free().
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.
meshList | Input - The list of meshes. |
safetyFactor | Input - ?? |
tolerance | Input - ?? |
optimize | Input - 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().
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.
meshList | Input - The list of meshes. |
safetyFactor | Input - ?? |
tolerance | Input - ?? |
optimize | Input - 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 | ) |
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 blocktimer_increment(), blocktimer_time(), checkFinleyError(), dudley::cleanupAndThrow(), Finley_ElementFile::Color, Finley_Mesh::ContactElements, Finley_NodeFile::Coordinates, Finley_Mesh::Elements, Esys_MPI_appendRankToFileName(), Esys_MPIInfo_alloc(), Esys_MPIInfo_free(), Finley_Mesh::FaceElements, Finley_ElementFile_alloc(), Finley_ElementFile_allocTable(), Finley_Mesh_addTagMap(), Finley_Mesh_alloc(), Finley_Mesh_createMappings(), Finley_Mesh_free(), Finley_NodeFile_allocTable(), Finley_noError(), Finley_ReferenceElementSet_alloc(), Finley_ReferenceElementSet_dealloc(), Finley_resetError(), Finley_setError(), escript::AbstractDomain::getPtr(), Finley_NodeFile::globalDegreesOfFreedom, Finley_NodeFile::globalNodesIndex, Finley_NodeFile::globalReducedDOFIndex, Finley_NodeFile::globalReducedNodesIndex, Finley_NodeFile::Id, Finley_ElementFile::Id, INDEX2, IO_ERROR, LenErrorMsg_MAX, Finley_ElementFile::maxColor, Finley_ElementFile::minColor, MPI_COMM_WORLD, Finley_ElementFile::Nodes, Finley_Mesh::Nodes, Finley_ElementFile::Owner, Finley_Mesh::Points, Esys_MPIInfo::rank, Esys_MPIInfo::size, Finley_NodeFile::Tag, Finley_ElementFile::Tag, TMPMEMALLOC, and TMPMEMFREE.
Referenced by BOOST_PYTHON_MODULE().
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(), 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.
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(), 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.
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(), 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].
n0,n1 | Input - number of elements in each dimension |
order | Input - =1, =-1 or =2 gives the order of shape function (-1= macro elements of order 1) |
l0,l1 | Input - length of each side of brick |
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. |
periodic0,periodic1 | Input - whether or not the boundary conditions of the dimension are periodic |
useElementsOnFace | Input - whether or not to use elements on face |
useFullElementOrder | |
optimize |
References finley::MeshAdapter::addDiracPoints(), checkFinleyError(), FALSE, Finley_ElementFile_setTagsInUse(), 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()
args | see rectangle() definition for order of params |
References dudley::rectangle().
Referenced by BOOST_PYTHON_MODULE().
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 Finley_setError().
Referenced by brick(), and rectangle().
const boost::python::list finley::EmptyPythonList = boost::python::list() |