esys.ripley Package¶
A domain meshed with uniform rectangles or quadrilaterals
Classes¶
- class esys.ripley.AbstractAssembler¶
- __init__()¶
Raises an exception This class cannot be instantiated from Python
- class esys.ripley.MultiResolutionDomain(dim, **kwargs)¶
Constructs domains of varying resolutions that are guaranteed to be compatible for cross-domain interpolation. The parameters supplied will be used to construct the coarsest resolution. No coarser domain can be constructed.
Each domain of finer resolution will have the number of elements in every axis of the coarsest domain multiplied by
2**n, wherenis the level of subdivision.- __init__(dim, **kwargs)¶
- Parameters:
dim (
int) – the spatial dimension of the domain to createkwargs – the arguments normally passed to a constructor of Rectangle or Brick, including as the number of elements
n0=...,n1=..., etc.
- getLevel(level)¶
Returns a domain with each element subdivided
leveltimes- Parameters:
level (
int) – the number of times to subdivide each element
- getMaxDepth()¶
Returns the level of the finest domain created so far
- class esys.ripley.RipleyBrick¶
- __init__()¶
Raises an exception This class cannot be instantiated from Python
- class esys.ripley.RipleyDomain¶
- __init__()¶
Raises an exception This class cannot be instantiated from Python
- MPIBarrier((RipleyDomain)arg1) None :¶
Wait until all processes have reached this point
- addPDEToTransportProblem((RipleyDomain)arg1, (TransportProblem)arg2, (Data)tp, (list)source, (AbstractAssembler)data) None :¶
- Parameters:
tp (
TransportProblemAdapter)source (
Data)data (
list)
- addToRHS((RipleyDomain)arg1, (Data)arg2, (list)rhs, (AbstractAssembler)data) None :¶
adds a PDE onto the stiffness matrix mat and a rhs, results depends on domain
- Parameters:
rhs (
Data)data (
list)
- addToSystem((RipleyDomain)arg1, (Operator)arg2, (Data)mat, (list)rhs, (AbstractAssembler)data) None :¶
adds a PDE to the system, results depend on domain
- Parameters:
mat (
OperatorAdapter)rhs (
Data)data (
list)
- createAssembler((RipleyDomain)arg1, (str)typename, (list)options) AbstractAssembler :¶
request from the domain an assembler of the specified type, if supported, using the supplied options (if provided):param typename: :type typename:
string:param options: :type options:list
- dump((RipleyDomain)arg1, (str)filename) None :¶
Dumps the mesh to a file with the given name.
- getDataShape((RipleyDomain)arg1, (int)functionSpaceCode) object :¶
- Returns:
a pair (dps, ns) where dps is the number of data points per sample, and ns is the number of samples
- Return type:
tuple
- getDescription((RipleyDomain)arg1) str :¶
- Returns:
a description for this domain
- Return type:
string
- getDim((RipleyDomain)arg1) int :¶
- Return type:
int
- getGridParameters((RipleyDomain)arg1) tuple :¶
- Returns the tuple (origin, spacing, elements) where the entries are tuples containing
originthe coordinates of the domain’s global origin,spacingthe element size (node spacing) of the domain,elementsthe global number of elements in all dimensions
- Return type:
tuple
- getMPIRank((RipleyDomain)arg1) int :¶
- Returns:
the rank of this process
- Return type:
int
- getMPISize((RipleyDomain)arg1) int :¶
- Returns:
the number of processes used for this
Domain- Return type:
int
- getNormal((RipleyDomain)arg1) Data :¶
- Returns:
boundary normals at the quadrature point on the face elements
- Return type:
Data
- getNumDataPointsGlobal((RipleyDomain)arg1) int :¶
- Returns:
the number of data points summed across all MPI processes
- Return type:
int
- getSize((RipleyDomain)arg1) Data :¶
- Returns:
the element size
- Return type:
Data
- getSystemMatrixTypeId((RipleyDomain)arg1, (object)options) int :¶
- Returns:
the identifier of the matrix type to be used for the global stiffness matrix when particular solver options are used.
- Return type:
int- Parameters:
options (
SolverBuddy)
- getTag((RipleyDomain)arg1, (str)name) int :¶
- Returns:
tag id for
name- Return type:
string
- getTransportTypeId((RipleyDomain)arg1, (int)solver, (int)preconditioner, (int)package, (bool)symmetry) int :¶
- Returns:
the identifier of the transport problem type to be used when a particular solver, preconditioner, package and symmetric matrix is used.
- Return type:
int- Parameters:
solver (
int)preconditioner (
int)package (
int)symmetry (
int)
- getX((RipleyDomain)arg1) Data :¶
- Returns:
locations in the FEM nodes
- Return type:
Data
- isRootRank((RipleyDomain)arg1) bool :¶
- Returns:
True if this code is executing on the root rank (rank 0)
- Return type:
bool
- isValidTagName((RipleyDomain)arg1, (str)name) bool :¶
- Returns:
True if
namecorresponds to a tag, otherwise False- Return type:
bool
- newOperator((RipleyDomain)arg1, (int)row_blocksize, (FunctionSpace)row_functionspace, (int)column_blocksize, (FunctionSpace)column_functionspace, (int)type) Operator :¶
creates a SystemMatrixAdapter stiffness matrix and initializes it with zeros
- Parameters:
row_blocksize (
int)row_functionspace (
FunctionSpace)column_blocksize (
int)column_functionspace (
FunctionSpace)type (
int)
- newTransportProblem((RipleyDomain)theta, (int)blocksize, (FunctionSpace)functionspace, (int)type) TransportProblem :¶
creates a TransportProblemAdapter
- Parameters:
theta (
float)blocksize (
int)functionspace (
FunctionSpace)type (
int)
- print_mesh_info((RipleyDomain)arg1[, (bool)full=False]) None :¶
Prints out a summary about the mesh. :param full: whether to output additional data :type full:
bool
- setTagMap((RipleyDomain)arg1, (str)name, (int)tag) None :¶
Give a tag number a name.
- Parameters:
name (
string) – Name for the tagtag (
int) – numeric id
- Note:
Tag names must be unique within a domain
- showTagNames((RipleyDomain)arg1) str :¶
- Returns:
A space separated list of tag names
- Return type:
string
- writeBinaryGrid((RipleyDomain)arg1, (Data)arg2, (str)arg3, (int)arg4, (int)arg5) None¶
- class esys.ripley.RipleyMultiBrick¶
- __init__()¶
Raises an exception This class cannot be instantiated from Python
Functions¶
- esys.ripley.Brick(n0=10, n1=10, n2=10, l0=1.0, l1=1.0, l2=1.0, d0=-1, d1=-1, d2=-1, diracPoints=[], diracTags=[], comm=None, framework=None)¶
Creates a hexagonal mesh with n0 x n1 x n2 elements over the brick [0,l0] x [0,l1] x [0,l2].
- Parameters:
n0 – number of elements in direction 0
n1 – number of elements in direction 1
n2 – number of elements in direction 2
l0 – length of side 0 or coordinate range of side 0
l1 – length of side 1 or coordinate range of side 1
l2 – length of side 2 or coordinate range of side 2
d0 – number of subdivisions in direction 0
d1 – number of subdivisions in direction 1
d2 – number of subdivisions in direction 2
diracPoints – Dirac point coordinates
diracTags – Dirac point tags
comm – MPI communicator (optional, from mpi4py)
framework – solver framework to use (optional SolverFramework instance)
- Returns:
Domain object
- esys.ripley.MultiBrick((float)n0, (float)n1, (float)n2[, (object)l0=1.0[, (object)l1=1.0[, (object)l2=1.0[, (int)d0=-1[, (int)d1=-1[, (int)d2=-1[, (object)diracPoints=[][, (object)diracTags=[][, (int)multiplier=1[, (object)comm=None]]]]]]]]]]) Domain :¶
Creates a hexagonal mesh with n0 x n1 x n2 parent elements over the brick [0,l0] x [0,l1] x [0,l2], each parent element is divided
multipliertimes.- Parameters:
n0 (
int) – number of elements in direction 0n1 (
int) – number of elements in direction 1n2 (
int) – number of elements in direction 2l0 (
floatortuple) – length of side 0 or coordinate range of side 0l1 (
floatortuple) – length of side 1 or coordinate range of side 1l2 (
floatortuple) – length of side 2 or coordinate range of side 2d0 (
int) – number of subdivisions in direction 0d1 (
int) – number of subdivisions in direction 1d2 (
int) – number of subdivisions in direction 2multiplier (
unsigned int) – size of overlapcomm (
mpi4py.MPI.Comm) – MPI communicator (optional, from mpi4py)
- esys.ripley.MultiRectangle((float)n0, (float)n1[, (object)l0=1.0[, (object)l1=1.0[, (int)d0=-1[, (int)d1=-1[, (object)diracPoints=[][, (object)diracTags=[][, (int)multiplier=1[, (object)comm=None]]]]]]]]) Domain :¶
Creates a rectangular mesh with n0 x n1 parent elements over the rectangle [0,l0] x [0,l1], each parent element is divided
multipliertimes.- Parameters:
n0 (
int) – number of elements in direction 0n1 (
int) – number of elements in direction 1l0 (
floatortuple) – length of side 0 or coordinate range of side 0l1 (
floatortuple) – length of side 1 or coordinate range of side 1d0 (
int) – number of subdivisions in direction 0d1 (
int) – number of subdivisions in direction 1multiplier (
unsigned int) – size of overlapcomm (
mpi4py.MPI.Comm) – MPI communicator (optional, from mpi4py)
- esys.ripley.Rectangle(n0=10, n1=10, l0=1.0, l1=1.0, d0=-1, d1=-1, diracPoints=[], diracTags=[], comm=None, framework=None)¶
Creates a rectangular mesh with n0 x n1 elements over the rectangle [0,l0] x [0,l1].
- Parameters:
n0 – number of elements in direction 0
n1 – number of elements in direction 1
l0 – length of side 0 or coordinate range of side 0
l1 – length of side 1 or coordinate range of side 1
d0 – number of subdivisions in direction 0
d1 – number of subdivisions in direction 1
diracPoints – Dirac point coordinates
diracTags – Dirac point tags
comm – MPI communicator (optional, from mpi4py)
framework – solver framework to use (optional SolverFramework instance)
- Returns:
Domain object
- esys.ripley._Brick()¶
- Brick( (float)n0, (float)n1, (float)n2 [, (object)l0=1.0 [, (object)l1=1.0 [, (object)l2=1.0 [, (int)d0=-1 [, (int)d1=-1 [, (int)d2=-1 [, (object)diracPoints=[] [, (object)diracTags=[] [, (object)comm=None]]]]]]]]]) -> Domain :
Creates a hexagonal mesh with n0 x n1 x n2 elements over the brick [0,l0] x [0,l1] x [0,l2].
- param n0:
number of elements in direction 0
- type n0:
int- param n1:
number of elements in direction 1
- type n1:
int- param n2:
number of elements in direction 2
- type n2:
int- param l0:
length of side 0 or coordinate range of side 0
- type l0:
floatortuple- param l1:
length of side 1 or coordinate range of side 1
- type l1:
floatortuple- param l2:
length of side 2 or coordinate range of side 2
- type l2:
floatortuple- param d0:
number of subdivisions in direction 0
- type d0:
int- param d1:
number of subdivisions in direction 1
- type d1:
int- param d2:
number of subdivisions in direction 2
- type d2:
int- param comm:
MPI communicator (optional, from mpi4py)
- type comm:
mpi4py.MPI.Comm
- esys.ripley._Rectangle()¶
- Rectangle( (float)n0, (float)n1 [, (object)l0=1.0 [, (object)l1=1.0 [, (int)d0=-1 [, (int)d1=-1 [, (object)diracPoints=[] [, (object)diracTags=[] [, (object)comm=None]]]]]]]) -> Domain :
Creates a rectangular mesh with n0 x n1 elements over the rectangle [0,l0] x [0,l1].
- param n0:
number of elements in direction 0
- type n0:
int- param n1:
number of elements in direction 1
- type n1:
int- param l0:
length of side 0 or coordinate range of side 0
- type l0:
floatortuple- param l1:
length of side 1 or coordinate range of side 1
- type l1:
floatortuple- param d0:
number of subdivisions in direction 0
- type d0:
int- param d1:
number of subdivisions in direction 1
- type d1:
int- param comm:
MPI communicator (optional, from mpi4py)
- type comm:
mpi4py.MPI.Comm
- esys.ripley.readBinaryGrid((str)filename, (FunctionSpace)functionspace, (object)shape, (float)fill=0.0, (int)byteOrder, (int)dataType, (object)first, (object)numValues, (object)multiplier, (object)reverse) Data :¶
Reads a binary Grid
- esys.ripley.setDecompositionPolicy((int)value) None :¶
Sets the automatic domain decomposition policy for new domains.
- Parameters:
value (
int) – policy
Others¶
BYTEORDER_BIG_ENDIAN
BYTEORDER_LITTLE_ENDIAN
BYTEORDER_NATIVE
DATATYPE_FLOAT32
DATATYPE_FLOAT64
DATATYPE_INT32
DECOMP_ADD_ELEMENTS
DECOMP_EXPAND
DECOMP_STRICT