# Contents of /branches/doubleplusgood/doc/user/changes.tex

Revision 4345 - (show annotations)
Fri Mar 29 07:09:41 2013 UTC (6 years, 9 months ago) by jfenwick
File MIME type: application/x-tex
File size: 7878 byte(s)
Spelling fixes

 1 2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 3 % Copyright (c) 2003-2013 by University of Queensland 4 5 % 6 % Primary Business: Queensland, Australia 7 % Licensed under the Open Software License version 3.0 8 9 % 10 % Development until 2012 by Earth Systems Science Computational Center (ESSCC) 11 % Development since 2012 by School of Earth Sciences 12 % 13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 14 15 \chapter{Changes from previous releases} 16 \label{app:changes} 17 18 \subsection*{3.3 to 3.3.1} 19 \begin{itemize} 20 \item Source packages for Debian and Ubuntu can now be made directly by dpkg-source from the source tree\footnote{For this to work, you will need to place a file called \texttt{svn_version} containing the revision number in the root of the source.}. 21 \item non-uniform 1D interpolation (see Section~\ref{sec:interpolation}). 22 \item The minimum version of python required for escript is now $2.6$. 23 \item saveVTK and saveDX (previously deprecated) have been removed from the main escript module. 24 Please see the \module{weipa} documentation for export functionality. 25 \item The \module{downunder} inversion module is included. 26 \begin{itemize} 27 \item The documentation includes an inversion cookbook to get you started. 28 \item Most operations are possible with \escript's existing dependencies but some \emph{may} require \module{pyproj} or \module{gdal} 29 but \escript will let you know if that happens. 30 \end{itemize} 31 32 \end{itemize} 33 34 35 \subsection*{3.2.1 to 3.3} 36 \begin{itemize} 37 \item Experimental support for \pythonthree. 38 \item Parameter order for the table interpolation methods has changed to be consistent. 39 Please test your scripts if you use these functions. 40 \item setX on \finley and \dudley domains will now only accept coordinates from ContinuousFunction spaces. 41 This is to avoid some potentially nasty behaviour when using periodic boundary conditions. 42 You can still use setX, just make sure that you interpolate first. 43 \end{itemize} 44 45 46 \subsection*{3.1 to 3.2} 47 \begin{itemize} 48 \item The deprecated name for the launcher has been removed. To run scripts use 49 \emph{run-escript} not \emph{escript}. 50 \item \escript is no longer automatically imported by importing \finley. 51 You will need to import escript explicitly. (All of our example scripts do this anyway.) 52 \item An experimental version of the new Dudley domain is now available. 53 \item Various bug fixes and optimisations. 54 \item New algorithms for gmsh support. 55 \item Improvements to the AMG solver. AMG is the recommended solver for symmetric problems. 56 \item Fixed compilation issues using netcdf. 57 \item Redesigned configuration files to make it easier to compile from source 58 without finding the locations of all your libraries. 59 \item Faster rendering of documentation. 60 \item Documentation is now hyperlinked. 61 \item New data export module \weipa. The \texttt{saveVTK} functionality has 62 been moved into this module, and while calling \texttt{saveVTK} from the 63 \escript module still works it is discouraged and will be removed in a 64 future release. 65 \item New \texttt{esys.escript.DataManager} class for convenient checkpointing 66 and exporting of escript data. 67 \item \VisIt simulation interface for online data access and visualization. 68 \item Simpler interpolation and support for interpolation from 3D vectors. 69 \item HRZ lumping has been added and some clarification on how to use it. 70 \item Data objects populated with random'' values can be created. 71 \end{itemize} 72 73 \subsection*{3.0 to 3.1} 74 \begin{itemize} 75 \item The \emph{escript} launcher has been renamed to \emph{run-escript}. The 76 old name will still work in this version but will be removed in the future. 77 \item Lazy evaluation features have been improved and documented (see \Sec{sec:lazy}). 78 \item The \emph{escript} documentation now includes a new Cookbook which 79 demonstrates how to solve sample problems using escript. 80 \item Macro elements have been introduced. 81 \item The \var{saveDataCSV} method allows one or more \Data objects to be 82 exported in CSV format (see \Sec{sec:savedatacsv}). 83 \item \Data objects can be populated by interpolating from values in a table. 84 \item The new \var{getInfLocator} and \var{getSupLocator} functions in 85 \pdetools return Locators to a minimal/maximal point over the 86 data. 87 \item There is a new class to model fault systems (\var{esys.escript.faultsystems.FaultSystem}). 88 \item A beta version of an Algebraic Multigrid (AMG) solver is included. 89 \item Inverting square matrices larger than 3x3 is now permitted if escript is 90 compiled with Lapack support. 91 \item If escript is compiled with a modern compiler, then inf/sup/Lsup will now 92 report NaN, +/-inf as appropriate if those values appear in the data. 93 \item Data.setTags will take tag names as well as tag numbers. 94 \item The Scalar, Vector, Tensor, Tensor3, Tensor4 factory methods can now take 95 arrays/nested sequence like objects as their initial values. 96 \item escript.util.mkDir can now take a list of directories to create. 97 \item Behind the scenes, \PYTHON docstrings have been rewritten from epydoc to 98 restructured text. 99 \item Various other bug fixes and performance tweaks. 100 \end{itemize} 101 102 \subsection*{2.0 to 3.0} 103 \begin{itemize} 104 \item The major change here was replacing \module{numarray} with \numpy. 105 For general instructions on converting scripts to use numpy see \url{http://www.stsci.edu/resources/software_hardware/numarray/numarray2numpy.pdf}. 106 The specific changes to \escript are: 107 \begin{itemize} 108 \item getValueOfDataPoint() which returned a \module{numarray}.array has been 109 replaced by getTupleForDataPoint() which returns a \PYTHON tuple 110 containing the components of the data point. In the case of matrices or 111 higher ranked data, the tuples will be nested. 112 Use \numpy.array(data.getTupleForDataPoint()) if a \numpyNDA object is 113 required. 114 \item getValueOfGlobalDataPoint() has similarly been replaced by 115 getTupleForGlobalDataPoint(). 116 \item \code{integrate(data)} now returns a \numpyNDA instead of a 117 \module{numarray}.array. 118 \end{itemize} 119 Any python methods which previously accepted \module{numarray} objects now 120 accept \numpy objects instead. 121 122 \item The way to define solver options for \LinearPDE objects has changed. 123 There is now a \SolverOptions object attached to the \LinearPDE 124 object which handles the options of solvers used to solve the PDE. 125 The following changes apply: 126 \begin{itemize} 127 \item The \method{setTolerance} and \method{setAbsoluteTolerance} methods 128 have been removed. Instead use \method{setTolerance} and 129 \method{setAbsoluteTolerance} on the \SolverOptions object. For example: 130 \method{getSolverOptions().setTolerance(\ldots)} 131 \item The \method{setSolverPackage} and \method{setSolverMethod} methods have 132 been removed. Instead use the methods \method{setPackage}, 133 \method{setSolverMethod} and \method{setPreconditioner}. For example: 134 getSolverOptions().setPackage(\ldots). 135 \item The static class variables defining packages, solvers and 136 preconditioners have been removed and are now accessed via the 137 corresponding static class variables in \SolverOptions. 138 For instance use \method{SolverOptions.PCG} instead of 139 \method{LinearPDE.PCG} to select the preconditioned conjugate gradient 140 method. 141 \item The \method{getSolution} now takes no argument. Use the corresponding 142 methods of the \SolverOptions object returned by 143 \method{getSolverOptions()} to set values,\\ e.g. use 144 \method{getSolverOptions().setVerbosityOn()} instead of argument 145 \code{verbose=True} and \method{getSolverOptions().setIterMax(1000)} 146 instead of argument \code{iter_max=1000}. 147 \end{itemize} 148 \end{itemize} 149