--- trunk/doc/user/ripley.tex 2015/06/25 06:16:17 5692 +++ trunk/doc/user/ripley.tex 2015/06/26 01:13:47 5693 @@ -41,6 +41,27 @@ dom = Rectangle(9, 9) \end{python} +Multi-resolution domains are supported in \ripley via use of \class{MultiBrick} +and \class{MultiRectangle}. Each level of one of +these domains has twice the elements in each axis of the next lower resolution. +The \class{MultiBrick} is not currently supported when running \escript with +multiple processes using \MPI. Interpolation between these multi-resolution +domains is possible providing they have matching dimensions and subdivisions, +along with a compatible number of elements. To simplify these conditions the +use of \class{MultiResolutionDomain} is highly recommended. The following +example creates two 2D domains of different resolutions and interpolates +between them: + +\begin{python} + from esys.ripley import MultiResolutionDomain + mrd = MultiResolutionDomain(2, n0=10, n1=10) + ten_by_ten = mrd.getLevel(0) + data10 = Vector(..., Function(ten_by_ten)) + ... + forty_by_forty = mrd.getLevel(2) + data40 = interpolate(data10, Function(forty_by_forty)) +\end{python} + \section{Formulation} For a single PDE that has a solution with a single component the linear PDE is defined in the following form: @@ -124,6 +145,14 @@ bottom-left node is located at $(5.5, 9.0)$ and the top-right node has coordinates $(15.5, 14.0)$, see Figure~\ref{fig:ripleyrect}. +The \class{MultiResolutionDomain} class is available as a wrapper, taking the +dimension of the domain followed by the same arguments as \class{Brick} (if +a two-dimensional domain is requested, any extra arguments over those used by +\class{Rectangle} are ignored). All of these standard arguments to +\class{MultiResolutionDomain} must be supplied as keyword arguments +(e.g. \var{d0}=...). The \class{MultiResolutionDomain} can then generate +compatible domains for interpolation. + \section{Linear Solvers in \SolverOptions} Currently direct solvers and GPU-based solvers are not supported under \MPI when running with more than one rank. @@ -137,7 +166,9 @@ non-regular \MKL may return without a proper error code. If you observe suspicious solutions when using \MKL, this may be caused by a non-invertible operator.} solver package. If \MKL is not available \UMFPACK is used. -If \UMFPACK is not available a suitable iterative solver from \PASO is used. +If \UMFPACK is not available a suitable iterative solver from \PASO is used, but +if a direct solver was requested via the \SolverOptions an exception will be +raised.