[cig-commits] r5056 - in long/3D/Gale/trunk: . documentation

walter at geodynamics.org walter at geodynamics.org
Mon Oct 16 14:30:32 PDT 2006


Author: walter
Date: 2006-10-16 14:29:53 -0700 (Mon, 16 Oct 2006)
New Revision: 5056

Modified:
   long/3D/Gale/trunk/
   long/3D/Gale/trunk/INSTALL
   long/3D/Gale/trunk/INSTALL.DEBIAN
   long/3D/Gale/trunk/INSTALL.MACOSX
   long/3D/Gale/trunk/INSTALL.RHFC5
   long/3D/Gale/trunk/INSTALL.STATIC
   long/3D/Gale/trunk/INSTALL.SUSE
   long/3D/Gale/trunk/INSTALL.WINDOWS
   long/3D/Gale/trunk/README
   long/3D/Gale/trunk/documentation/gale.lyx
   long/3D/Gale/trunk/documentation/gale.pdf
Log:
 r977 at earth:  boo | 2006-10-16 14:29:20 -0700
 Fix up docs



Property changes on: long/3D/Gale/trunk
___________________________________________________________________
Name: svk:merge
   - 3a629746-de10-0410-b17b-fd6ecaaa963e:/cig:976
   + 3a629746-de10-0410-b17b-fd6ecaaa963e:/cig:977

Modified: long/3D/Gale/trunk/INSTALL
===================================================================
--- long/3D/Gale/trunk/INSTALL	2006-10-16 21:29:48 UTC (rev 5055)
+++ long/3D/Gale/trunk/INSTALL	2006-10-16 21:29:53 UTC (rev 5056)
@@ -16,13 +16,16 @@
 In order to install Gale, you must have the headers and development
 libraries for
 
-        - Petsc
         - MPI
+        - Petsc 2.3.0 or 2.3.1, but not 2.3.2
         - libxml2
 
-You must also have python 2.2.1 or greater installed.  Generally, the
-most difficult part is installing Petsc.
+You must also have python 2.2.1 or greater installed.  If you do not
+already have MPI, then in many cases Petsc can install a version for
+you.  Installing Petsc also requires a Blas/Lapack implementation.
 
+Generally, the most difficult part is installing Petsc.
+
 Configure
 ---------
 
@@ -104,22 +107,14 @@
 Testing
 -------
 
-Actually running Gale is a little complicated.  First of all, the
-executable is actually named Underworld.  Also, for various reasons,
-Gale will, at the moment, only run out of top directory of the source
-tree.  So you will need to make a symbolic link from wherever you
-installed Gale to the source tree.  For example
+There are three sample test input files: extension.xml,
+shortening.xml, and subduction.xml.  If you installed Gale in
+/foo/gale, then to run the extension model type
 
-  ln -s /usr/local/bin/Underworld
+  /foo/gale/bin/Gale extension.xml
 
-There is a sample test input file: simple-extension.xml.  So to run
-this code, type
+Gale is nearly feature complete, although we do not vouch that it is
+free of serious errors.  If you find any bugs, please send a meesage
+to
 
-  ./Underworld simple-extension.xml
-
-Gale is still in the early stages of development, so there are still
-many bugs.  This example should run about 29 time steps and then
-crash.  If you get different behavior (longer or shorter), please send
-a message to
-
   cig-long at geodynamics.org

Modified: long/3D/Gale/trunk/INSTALL.DEBIAN
===================================================================
--- long/3D/Gale/trunk/INSTALL.DEBIAN	2006-10-16 21:29:48 UTC (rev 5055)
+++ long/3D/Gale/trunk/INSTALL.DEBIAN	2006-10-16 21:29:53 UTC (rev 5056)
@@ -2,7 +2,8 @@
 ------
 
 You need to install libxml2-dev, atlas3-base-dev, atlas3-headers, and
-libmpich1.0-dev packages.
+libmpich1.0-dev packages.  The reference blas and lapack libraries
+both define xerbla_ which causes conflicts unless using --with-shared.
 
 1) Testing or Unstable
 
@@ -16,17 +17,17 @@
 2) Stable
 
   The version of petsc in stable is too old (2.2.0).  So download a
-newer version from the petsc website (at least 2.3.0).  Unpack it, and
-cd into the directory.  Configure it with
+newer version from the petsc website (2.3.0 or 2.3.1, but not 2.3.2).
+Unpack it, and cd into the directory.  Configure it with
 
   export PETSC_DIR=$PWD
-  config/configure.py --prefix=/path/to/install/petsc --with-shared
+  config/configure.py --prefix=/path/to/install/petsc --with-debugging=no
   
 This may take a little while.  You can install it elsewhere by giving
 a different argument to --prefix.  When it is done, petsc will tell
 you to set PETSC_ARCH.  It will probably be something like
 
-  export PETSC_ARCH=linux-gnu-c-real-debug
+  export PETSC_ARCH=linux-gnu-c-real-opt
 
 Then run
 

Modified: long/3D/Gale/trunk/INSTALL.MACOSX
===================================================================
--- long/3D/Gale/trunk/INSTALL.MACOSX	2006-10-16 21:29:48 UTC (rev 5055)
+++ long/3D/Gale/trunk/INSTALL.MACOSX	2006-10-16 21:29:53 UTC (rev 5056)
@@ -1,10 +1,11 @@
 Mac OS X 10.4
 -------------
 
-We do not recommend using fink to install Gale.  The mpi packages are
-a bit flaky, and petsc has trouble building.  Also, the install has
-only been tested on the latest version of OS X (Panther 10.4).  MPICH
-will not install on Tiger (10.3).
+We do not recommend using the fink tools and libraries to install
+Gale.  The mpi packages are a bit flaky, and petsc has trouble
+building.  Also, the install has only been tested on the latest
+version of OS X (Panther 10.4).  MPICH will not install on Tiger
+(10.3).
 
 You will have to install the developer tools.  You must become a
 member of ADC in order to get them (it is free).
@@ -13,11 +14,11 @@
 
 Once those are installed, you have to install petsc.  Petsc will
 download mpi for you.  So once you have gotten the petsc tarball from
-the website (at least 2.3.0), unpack it and cd into the directory.
-Configure it with
+the website (2.3.0 or 2.3.1, but not 2.3.2), unpack it and cd into the
+directory.  Configure it with
 
   export PETSC_DIR=$PWD
-  config/configure.py --prefix=/path/to/install/petsc --download-mpich=1 --with-shared --with-external-packages-dir=/path/to/install/mpich
+  config/configure.py --prefix=/path/to/install/petsc --download-mpich=1 --with-external-packages-dir=/path/to/install/mpich
   
 This may take a little while.  You can install it elsewhere by giving
 a different argument to --prefix.  When it is done, petsc will tell

Modified: long/3D/Gale/trunk/INSTALL.RHFC5
===================================================================
--- long/3D/Gale/trunk/INSTALL.RHFC5	2006-10-16 21:29:48 UTC (rev 5055)
+++ long/3D/Gale/trunk/INSTALL.RHFC5	2006-10-16 21:29:53 UTC (rev 5056)
@@ -1,20 +1,18 @@
 Redhat Fedora Core 5
 --------------------
 
-You need to install blas-devel, lapack-devel, libxml2-devel, and an
-mpi implementation (either openmpi-devel or lam, though only openmpi has
-been tested).
+You need to install blas-devel, lapack-devel, libxml2-devel, and
+openmpi-devel (lam may work, though only openmpi has been tested).
 
 Now install petsc
 
   export PETSC_DIR=$PWD
-  config/configure.py --prefix=/path/to/install/petsc --with-shared --with-mpi-dir=/usr/share/openmpi
+  config/configure.py --prefix=/path/to/install/petsc --with-mpi-dir=/usr/share/openmpi --with-debugging=no
   
-This may take a little while.  You can install it elsewhere by giving
-a different argument to --prefix.  When it is done, petsc will tell
-you to set PETSC_ARCH.  It will probably be something like
+When it is done, petsc will tell you to set PETSC_ARCH.  It will
+probably be something like
 
-  export PETSC_ARCH=linux-gnu-c-real-debug
+  export PETSC_ARCH=linux-gnu-c-real-opt
 
 Then run
 

Modified: long/3D/Gale/trunk/INSTALL.STATIC
===================================================================
--- long/3D/Gale/trunk/INSTALL.STATIC	2006-10-16 21:29:48 UTC (rev 5055)
+++ long/3D/Gale/trunk/INSTALL.STATIC	2006-10-16 21:29:53 UTC (rev 5056)
@@ -16,7 +16,7 @@
 requires lots of other things that complicate the process.  In
 summary, I configure PETSC with the line
 
-  $ ./config/configure.py --prefix=/home/boo/cig/petsc --with-x=0 --with-blas-lib=/usr/lib/libblas-3.a --with-lapack-lib=/usr/lib/liblapack-3.a
+  $ ./config/configure.py --prefix=/home/boo/cig/petsc --with-x=0 --with-blas-lib=/usr/lib/libblas-3.a --with-lapack-lib=/usr/lib/liblapack-3.a --with-debugging=no
 
 To make static builds on your machine, you may have to edit
 SConstruct.in to set appropriate library paths and extra libraries.
@@ -43,28 +43,23 @@
 Windows
 ---------------------------------------------------------
 
-You must build Petsc with the Microsoft compiler.  Petsc does not
-support mingw.  You must also build your own version of libxml, since
-MPICH is built with the single threaded, static C library and libxml
-is built with the multithreaded, dynamic library.  To build Gale, you
-can not run configure.  Instead, manually hack the SConstruct file.
-You will have to define a number of macros and modify the source.
-This is mostly because MSVC does not implement C99.  So you have to
-make the following options to the command line:
+You must install the Windows binary of mpich2
 
-  /Disnan=_isnan
-  /Disinf=!_finite
-  /Dstrcasecmp=_stricmp
-  /Dstrncasecmp=_strnicmp
-  
-MSVC also does not support declarations not at the beginning of a
-function.  sys/time.h is not defined, so do not compile the CPUTime
-plugin.  drand48 is not implemented, so it has to be replaced with
-rand.  Inifinity is too large (10^500), so replace it with something
-smaller (10^100).  erf is not implemented, so comment that out in
-StandardConditionFunctions.  Add TrigMath.h in a number of files
-because M_PI is not defined.  Replace S_ISREG(x) and S_ISDIR(x) with
-x&S_IFREG andx&S_IFDIR.  Replace va_copy(a,b) with a=b.  Remove
-setenv.
+  http://www-unix.mcs.anl.gov/mpi/mpich/
 
-Also define LIBXML_STATIC.
+Then you must build Petsc with the Microsoft compiler, but do it via
+cygwin using the "win32fe cl" compiler.  Petsc does not support mingw.
+You must also build your own version of libxml, since MPICH is built
+with the single threaded, static C library and libxml is built with
+the multithreaded, dynamic library.
+
+To build Gale, you can not run configure.  Instead, use the
+SConstruct_msvc file using a command like
+
+  python scons/scons -f SConstruct_msvc
+
+This defines a number of macros.  Most of them are because MSVC does
+not implement C99 and various POSIX headers.
+
+In the end, you will still need to distribute the mpich dll with the
+executable.

Modified: long/3D/Gale/trunk/INSTALL.SUSE
===================================================================
--- long/3D/Gale/trunk/INSTALL.SUSE	2006-10-16 21:29:48 UTC (rev 5055)
+++ long/3D/Gale/trunk/INSTALL.SUSE	2006-10-16 21:29:53 UTC (rev 5056)
@@ -10,13 +10,12 @@
 directory.  Configure it with
 
   export PETSC_DIR=$PWD
-  config/configure.py --with-fc=gfortran --prefix=/path/to/install/petsc --download-mpich=1 --with-shared --with-external-packages-dir=/path/to/install/mpich
+  config/configure.py --prefix=/path/to/install/petsc --download-mpich=1 --with-shared --with-external-packages-dir=/path/to/install/mpich --with-debugging=no
   
-This may take a little while.  You can install it elsewhere by giving
-a different argument to --prefix.  When it is done, petsc will tell
+When it is done, petsc will tell
 you to set PETSC_ARCH.  It will probably be something like
 
-  export PETSC_ARCH=linux-gnu-c-real-debug
+  export PETSC_ARCH=linux-gnu-c-real-opt
 
 Then run
 
@@ -25,13 +24,8 @@
 
 to build and install.
 
-You must set your path so that the gale configure script will see petsc's mpi.
-
-  export PATH=/path/to/install/mpich/mpich2-1.0.3/bin:$PATH
-  export LD_LIBRARY_PATH=/path/to/install/mpich/mpich2-1.0.3/lib
-
 To build Gale, cd into the Gale directory and run
 
-  configure.py --prefix=/path/to/install/Gale --with-petsc-dir=/path/to/install/petsc/ --with-fc=gfortran --with-mpi-dir=/path/to/install/mpich/mpich2-1.0.3
+  configure.py --prefix=/path/to/install/Gale --with-petsc-dir=/path/to/install/petsc/ --with-mpi-dir=/path/to/install/mpich/mpich2-1.0.3
   make
   make install

Modified: long/3D/Gale/trunk/INSTALL.WINDOWS
===================================================================
--- long/3D/Gale/trunk/INSTALL.WINDOWS	2006-10-16 21:29:48 UTC (rev 5055)
+++ long/3D/Gale/trunk/INSTALL.WINDOWS	2006-10-16 21:29:53 UTC (rev 5056)
@@ -1,4 +1,6 @@
-You must install cygwin
+Cygwin
+------
+THe easiest method is to install cygwin
 
   http://cygwin.com/
 
@@ -8,3 +10,9 @@
   http://www-unix.mcs.anl.gov/mpi/mpich/
 
 Then build Petsc and Gale.
+
+Native
+------
+
+You still need cygwin to install Petsc, but you can use the Microsoft
+compiler.  See INSTALL.STATIC for details.

Modified: long/3D/Gale/trunk/README
===================================================================
--- long/3D/Gale/trunk/README	2006-10-16 21:29:48 UTC (rev 5055)
+++ long/3D/Gale/trunk/README	2006-10-16 21:29:53 UTC (rev 5056)
@@ -1,5 +1,5 @@
-We are pleased to announce the release of Gale 0.2.0.  This is a beta
-release, intended primarily for developers.
+We are pleased to announce the release of Gale 0.9.0.  This version is
+mostly complete, although not everything has been fully tested.
 
 See the file INSTALL for build and installation instructions.
 
@@ -18,4 +18,14 @@
 
 or you may use the bugtracker at
 
-   http://geodynamics.org/roundup
+   http://geodynamics.org/bugs
+
+
+Known Issues:
+
+* There are some numerical stability issues when running simulations
+  with narrow faults.
+
+* The Windows binaries do not work in parallel.
+
+* Documentation is still incomplete.

Modified: long/3D/Gale/trunk/documentation/gale.lyx
===================================================================
--- long/3D/Gale/trunk/documentation/gale.lyx	2006-10-16 21:29:48 UTC (rev 5055)
+++ long/3D/Gale/trunk/documentation/gale.lyx	2006-10-16 21:29:53 UTC (rev 5056)
@@ -1,4 +1,4 @@
-#LyX 1.4.3 created this file. For more info see http://www.lyx.org/
+#LyX 1.4.2 created this file. For more info see http://www.lyx.org/
 \lyxformat 245
 \begin_document
 \begin_header
@@ -354,7 +354,8 @@
 
 \end_inset
 
-, we write 
+, we assume a simple viscous material.
+ This allows us to write 
 \begin_inset Formula $\tau$
 \end_inset
 
@@ -399,19 +400,11 @@
 
 This equation and the continuity equation constitute all of the equations
  for this system.
- Gale simulates these equations by putting these quantities on a grid.
- Gale then approximates derivatives of these quantities by using 
+ 
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \begin{equation}
-\begin{array}{ccc}
-\phi_{,x}(x) & \simeq & \frac{\phi(x+\delta x)-\phi(x-\delta x)}{2\delta x}\\
-\phi_{,xx}(x) & \simeq & \frac{\phi(x+\delta x)-2\phi(x)+\phi(x-\delta x)}{\delta x^{2}}\end{array}.\label{eq:derivative}\end{equation}
-
-\end_inset
-
-Using this, we can represent eqs.
+Using standard finite-element techniques, we can represent eqs.
  
 \begin_inset LatexCommand \ref{eq:simple elliptic}
 
@@ -462,6 +455,7 @@
 \end_inset
 
  from the equation, leading to a simpler set of equations.
+ However, this penalty function is non-physical and can cause spurious effects.
 \end_layout
 
 \end_inset
@@ -601,6 +595,50 @@
  introduces time into the equation.
 \end_layout
 
+\begin_layout Subsection
+Surface Processes
+\end_layout
+
+\begin_layout Standard
+Gale takes an agnostic approach to surface processes such as erosion.
+ Gale exposes a programming interface that allows you to modify the heights
+ of the surface.
+ There is a simple example using diffusion in surface_process.xml.
+ Using a different surface process model requires modifying 
+\family typewriter
+src/Gale/plugins/SurfaceProcess/SurfaceProcess.c
+\family default
+.
+\end_layout
+
+\begin_layout Subsection
+Rheology
+\end_layout
+
+\begin_layout Standard
+Gale incorporates a number of different Rheologies.
+\end_layout
+
+\begin_layout Subsubsection
+Drucker-Prager
+\end_layout
+
+\begin_layout Subsubsection
+Von Mises
+\end_layout
+
+\begin_layout Subsubsection
+Mohr-Coulomb
+\end_layout
+
+\begin_layout Subsubsection
+Frank-Kamenetskii
+\end_layout
+
+\begin_layout Subsubsection
+Moresi-Mulhaus
+\end_layout
+
 \begin_layout Section
 Gale History
 \end_layout
@@ -620,8 +658,8 @@
  models and has been employed for deeper mantle dynamics problems.
  Gale is an open source code that is at least as useful as SOPALE and MicroFEM
  for addressing these research areas, with the addition of 3D capability.
- In the future, Gale will run benchmarks such as extension and shortening,
- as well as the traditional subduction model as shown in Fig.
+ In the future, Gale runs benchmarks such as extension and shortening, as
+ well as the traditional subduction model as shown in Fig.
  
 \begin_inset LatexCommand \ref{fig:General-subduction-model}
 
@@ -819,41 +857,39 @@
 Gale Usage
 \end_layout
 
-\begin_layout Standard
-Currently, Gale only runs from the top directory of the build tree.
- Once you have built and installed Gale, make a symlink from where you installed
- Gale to that directory.
- For example,
-\end_layout
-
-\begin_layout LyX-Code
-ln -s /home/walter/Gale-bin/bin/Underworld
-\end_layout
-
 \begin_layout Subsection
-Simple Test
+Usage
 \end_layout
 
 \begin_layout Standard
-There is a sample input file in the top directory:
-\family typewriter
- simple-extension.xml.
- 
-\family default
-You can run it with
+If you downloaded binaries for your platform, you can run the Gale executable
+ directly.
+ For example
 \end_layout
 
 \begin_layout LyX-Code
-./Underworld  simple-extension.xml
+./Gale  extension.xml
 \end_layout
 
 \begin_layout Standard
-This should run for 500 time steps and generate a great deal of output in
- the 
+If you compiled Gale yourself, then you can run it from where you installed
+ it.
+ If running in parallel, then just prepend 
 \family typewriter
-output.sandbox
+mpirun
 \family default
+ or 
+\family typewriter
+mpiexec
+\family default
+.
+ The extension example should run for 500 time steps and generate a great
+ deal of output in the 
+\family typewriter
+output.extension
+\family default
  directory.
+ There are also rough examples of shortening and subduction.
 \end_layout
 
 \begin_layout Section
@@ -861,20 +897,13 @@
 \end_layout
 
 \begin_layout Standard
-The file 
-\family typewriter
-simple-extension.xml
-\family default
- will produce the directory 
-\family typewriter
-output.sandbox
-\family default
- in which you will find a number of different output files.
+The sample input files will produce a directory in which you will find a
+ number of different output files.
  The default setting is to print once for every time step.
  You can change the frequency of that setting, e.g., have it print less frequently
 , by modifying 
 \family typewriter
-simple-extension.xml
+extension.xml
 \family default
  so the parameter 
 \family typewriter
@@ -988,7 +1017,7 @@
 
 \begin_layout Standard
 to the list of plugins.
- This line is already in simple-extension.xml.
+ This line is already in the example input files.
  At present, it outputs the files 
 \family typewriter
 yielding.*.txt
@@ -998,21 +1027,29 @@
 \end_layout
 
 \begin_layout LyX-Code
-x y z
+m x y z
 \family typewriter
  yielded
 \end_layout
 
 \begin_layout Standard
-where yielded is either 
+where 
 \family typewriter
+m
+\family default
+ is the number of the material (in the examples, always 1), and 
+\family typewriter
+yielded
+\family default
+ is a number between 
+\family typewriter
 0
 \family default
- or 
+ and 
 \family typewriter
 1
 \family default
- depending on whether that particle has undergone mechanical failure.
+ indicating how much a material point has failed.
  If you want to print out some other property of the material, e.g., viscosity,
  you can modify 
 \family typewriter
@@ -1439,10 +1476,6 @@
 0D and 1D Shear Tests
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
 \begin_layout Chapter
 License
 \end_layout

Modified: long/3D/Gale/trunk/documentation/gale.pdf
===================================================================
(Binary files differ)



More information about the cig-commits mailing list