escript  Revision_Unversioneddirectory
Classes | Functions
dudley Namespace Reference

Classes

class  DudleyAdapterException
 DudleyAdapterException exception class. More...
 
class  MeshAdapter
 MeshAdapter implements the AbstractContinuousDomain interface for the Dudley library. More...
 
struct  null_deleter
 

Functions

void setDudleyError (Dudley_ErrorCodeType errorCode, const std::string &errMess)
 Provide a C++ interface to the dudley C funcion of the same name. Needed because of constness problems. More...
 
void checkDudleyError ()
 Convert a C dudley error into a C++ exception. More...
 
void checkPasoError ()
 Convert a C paso error into a C++ exception. More...
 
void cleanupAndThrow (Dudley_Mesh *mesh, string msg)
 
Domain_ptr loadMesh (const std::string &fileName)
 A suite of factory methods for creating various MeshAdapters. More...
 
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. More...
 
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. More...
 
Domain_ptr brick (esysUtils::JMPI &mpi_info, double n0=1, double n1=1, double 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]. More...
 
Domain_ptr brick_driver (const boost::python::list &args)
 Python driver for brick() More...
 
Domain_ptr rectangle_driver (const boost::python::list &args)
 Python driver for rectangle() More...
 
Domain_ptr rectangle (esysUtils::JMPI &mpi_info, double n0=1, double 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]. More...
 

Function Documentation

escript::Domain_ptr dudley::brick ( esysUtils::JMPI mpi_info,
double  n0 = 1,
double  n1 = 1,
double  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].

Parameters
n0,n1,n2Input - number of elements in each dimension
orderInput - =1, =-1 or =2 gives the order of shape function (-1= macro elements of order 1)
l0,l1,l2Input - length of each side of brick
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.
useElementsOnFaceInput - whether or not to use elements on face
periodic0,periodic1,periodic2Input - whether or not boundary conditions of the dimension are periodic
useFullElementOrder
optimize

References checkDudleyError(), Dudley_TriangularMesh_Tet4(), FALSE, escript::AbstractDomain::getPtr(), and TRUE.

Referenced by brick_driver(), and finley::brick_driver().

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

Python driver for brick()

Parameters
argssee brick() definition for order of params

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

Referenced by BOOST_PYTHON_MODULE().

void dudley::checkDudleyError ( )
void dudley::checkPasoError ( )
void dudley::cleanupAndThrow ( Dudley_Mesh mesh,
string  msg 
)
inline

References Dudley_Mesh_free().

Referenced by loadMesh().

escript::Domain_ptr dudley::loadMesh ( const std::string &  fileName)
escript::Domain_ptr dudley::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(), checkDudleyError(), Dudley_Mesh_readGmsh(), FALSE, escript::AbstractDomain::getPtr(), and TRUE.

Referenced by BOOST_PYTHON_MODULE().

escript::Domain_ptr dudley::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(), checkDudleyError(), Dudley_Mesh_read(), FALSE, escript::AbstractDomain::getPtr(), and TRUE.

Referenced by BOOST_PYTHON_MODULE().

escript::Domain_ptr dudley::rectangle ( esysUtils::JMPI mpi_info,
double  n0 = 1,
double  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].

Parameters
n0,n1Input - number of elements in each dimension [We only except floats for py transition]
orderInput - =1, =-1 or =2 gives the order of shape function (-1= macro elements of order 1)
l0,l1Input - length of each side of brick
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.
periodic0,periodic1Input - whether or not the boundary conditions of the dimension are periodic
useElementsOnFaceInput - whether or not to use elements on face
useFullElementOrder
optimize

References checkDudleyError(), Dudley_TriangularMesh_Tri3(), FALSE, and TRUE.

Referenced by rectangle_driver(), and finley::rectangle_driver().

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

Python driver for rectangle()

Parameters
argssee rectangle() definition for order of params

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

Referenced by BOOST_PYTHON_MODULE().

void dudley::setDudleyError ( Dudley_ErrorCodeType  errorCode,
const std::string &  errMess 
)

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

References Dudley_setError().