ESYS13  Revision_
Classes | Functions
dudley Namespace Reference

Classes

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

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.
void checkDudleyError ()
 Convert a C dudley error into a C++ exception.
void checkPasoError ()
 Convert a C paso error into a C++ exception.
void cleanupAndThrow (Dudley_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 (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].
Domain_ptr rectangle (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].

Function Documentation

escript::Domain_ptr dudley::brick ( 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 BOOST_PYTHON_MODULE(), and finley::brick_driver().

void dudley::cleanupAndThrow ( Dudley_Mesh mesh,
Esys_MPIInfo info,
string  msg 
) [inline]
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(), TMPMEMALLOC, TMPMEMFREE, 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(), TMPMEMALLOC, TMPMEMFREE, and TRUE.

Referenced by BOOST_PYTHON_MODULE().

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

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

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