Classes | |
class | FinleyAdapterException |
FinleyAdapterException exception class. More... | |
struct | null_deleter |
class | MeshAdapter |
MeshAdapter implements the AbstractContinuousDomain interface for the Finley library. More... | |
class | SystemMatrixAdapter |
class | TransportProblemAdapter |
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. | |
void | checkPasoError () |
Convert a C paso error into a C++ exception. | |
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) |
Read a gmsh mesh file. | |
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) |
Creates a rectangular mesh with n0 x n1 x n2 elements over the brick [0,l0] x [0,l1] x [0,l2]. | |
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) |
Creates a rectangular mesh with n0 x n1 elements over the brick [0,l0] x [0,l1]. | |
Domain_ptr | meshMerge (const boost::python::list &meshList) |
Merges a list of meshes into one list. | |
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. |
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 | |||
) |
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 or =2 gives the order of shape function | |
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 checkFinleyError(), FALSE, Finley_RectangularMesh_Hex20(), Finley_RectangularMesh_Hex8(), escript::AbstractDomain::getPtr(), setFinleyError(), TRUE, and VALUE_ERROR.
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::addPDEToLumpedSystem(), finley::MeshAdapter::addPDEToRHS(), finley::MeshAdapter::addPDEToSystem(), finley::MeshAdapter::addPDEToTransportProblem(), brick(), finley::MeshAdapter::dump(), finley::MeshAdapter::getDim(), 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::saveVTK(), finley::MeshAdapter::setNewX(), finley::MeshAdapter::setTags(), finley::MeshAdapter::setToGradient(), finley::MeshAdapter::setToIntegrals(), finley::MeshAdapter::setToNormal(), finley::MeshAdapter::setToSize(), finley::MeshAdapter::setToX(), and finley::MeshAdapter::write().
void finley::checkPasoError | ( | ) |
Convert a C paso error into a C++ exception.
References Paso_getErrorMessage(), Paso_noError(), and Paso_resetError().
Referenced by finley::TransportProblemAdapter::copyConstraint(), finley::TransportProblemAdapter::copyInitialValue(), finley::TransportProblemAdapter::getSafeTimeStepSize(), finley::MeshAdapter::getSystemMatrixTypeId(), finley::MeshAdapter::getTag(), finley::MeshAdapter::getTransportTypeId(), finley::MeshAdapter::newSystemMatrix(), finley::MeshAdapter::newTransportProblem(), finley::SystemMatrixAdapter::nullifyRowsAndCols(), finley::TransportProblemAdapter::resetTransport(), finley::SystemMatrixAdapter::resetValues(), finley::SystemMatrixAdapter::saveHB(), finley::SystemMatrixAdapter::saveMM(), finley::MeshAdapter::setTagMap(), finley::TransportProblemAdapter::setToSolution(), finley::SystemMatrixAdapter::setToSolution(), and finley::SystemMatrixAdapter::ypAx().
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(), Finley_ElementFile::Color, Finley_Mesh::ContactElements, Finley_NodeFile::Coordinates, Finley_Mesh::Elements, 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_resetError(), Finley_setError(), escript::AbstractDomain::getPtr(), 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, Finley_Mesh::order, Finley_ElementFile::Owner, Paso_MPI_appendRankToFileName(), Paso_MPIInfo_alloc(), Paso_MPIInfo_free(), Finley_Mesh::Points, Paso_MPIInfo::rank, Finley_Mesh::reduced_order, Paso_MPIInfo::size, Finley_ElementFile::Tag, Finley_NodeFile::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 | |||
) |
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 |
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_MPI(), 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 | |||
) |
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 or =2 gives the order of shape function | |
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 checkFinleyError(), FALSE, Finley_RectangularMesh_Rec4(), Finley_RectangularMesh_Rec8(), escript::AbstractDomain::getPtr(), setFinleyError(), TRUE, and VALUE_ERROR.
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 __const, and Finley_setError().
Referenced by brick(), and rectangle().