DukeAMR is a collection of libraries and applications programs for
adaptive mesh refinement.
There are 8 libraries and 4 applications included in this release.
DukeAMR has been developed and tested on RedHat Linux 0S 7.1.
This code has been develop with support from the National Science
Foundation under grants 9873275 and 9870384.
To use this code, you will need the following software:
- GNU make (else you will have to rewrite the makefiles)
- C++, C and Fortran77 compilers (Fortran90 is acceptable, if
you do not use modules and automatic arrays
- Xlib, XToolkit and XMotif. XMotif is available for free via
LessTif
- OpenGL, available for free via
Mesa
- For distributed computing, you will need either
These are the available compressed tar files for DukeAMR.
Put them in sub-directories gnu, memdebug, graphics, gui, box, flowvar,
amr, multigrid, ScalarLaw, LinearElasticity, MD, FHN of a single
directory.
-
gnu.tar.gz
Include files for GNU make.
Uncompress and tar, then look at gnu.tex.
You may need to modify duke.math.gnu and possibly the definition of
"logicaltype" in target "m4amr.i" of "targets.gnu" for your machine
before processing the other directories.
-
memdebug.tar.gz
Memory Debugger library; also includes some C++ classes for lists
and arrays.
Allows users to catch out-of-bounds writes and unfreed pointers;
error message can display line where offending pointer was
allocated.
Depends on the gnu directory.
Uncompress and tar, then look at memdebug.tex.
You may need to modify Arch.H, Align.H, setTraps.C for your machine.
To make the libraries, type "make".
-
graphics.tar.gz
Interactive graphics library.
Performs 1D x-y plots, 2D color fill, contour and surface,
3D iso-surface and slice.
Depends on the gnu and memdebug directories.
Uncompress and tar, then look at graphics.tex.
To make the libraries, type "make".
-
gui.tar.gz
Graphical User Interface and thread library.
Allows users to read variables from input files, or from dynamically
reconfigurable graphical user interfaces.
Depends on the gnu, memdebug and graphics directories.
Uncompress and tar, then look at gui.tex.
To make the libraries, type "make".
-
box.tar.gz
Box and Index library.
Allows users to work with logically-rectangular index spaces in
1, 2 or 3 dimensions.
Depends on the gnu, memdebug and graphics directories.
Uncompress and tar, then look at box.tex.
To make the libraries, type "make".
-
flowvar.tar.gz
Flow variable library.
Allows users to allocate and operate on logically-rectangular data
arrays in 1, 2 or 3 dimensions.
Depends on the gnu, memdebug, graphics and box directories.
Uncompress and tar, then look at flowvar.tex.
To make the libraries, type "make".
-
det.tar.gz
Deferred Execution Tool library.
Allows users to perform distributed computing by collecting
function pointers and argument data into messages and performing
deferred execution.
Depends on the gnu and memdebug directories.
Uncompress and tar, then look at det.tex.
To make the libraries, type "make".
-
amr.tar.gz
Adaptive Mesh Refinement library.
Allows users to perform adaptive mesh refinement computations for
explicit integration of conservation laws in 1, 2 or 3 dimensions.
Depends on the gnu, memdebug, graphics, box, flowvar and det
directories.
To make an executable, users will need to provide a C++ class
derived from "EosModel".
Uncompress and tar, then look at amr.tex.
To make the libraries, type "make".
-
multigrid.tar.gz
Multilevel Iterative library.
Allows users to perform adaptive mesh refinement computations for
implicit integration of partial differential equations in 1, 2 or 3
dimensions.
Also includes a file to treat wells for flow in porous media.
Depends on the gnu, memdebug, graphics, box, flowvar, det and amr
directories.
To make an executable, users will need to provide a C++ class
derived from "MultiLevelEosModel" or "MultiLevelEosModelWithWells".
Uncompress and tar, then look at multigrid.tex.
To make the libraries, type "make".
-
ScalarLaw.tar.gz
ScalarLaw EosModel.
Example amr application to integrate Burgers' equation in 1D.
Depends on the gnu, memdebug, graphics, box, flowvar, det and amr
directories.
Uncompress and tar, then look at ScalarLaw.tex.
To make the libraries, type "make".
-
LinearElasticity.tar.gz
LinearElasticity EosModel.
Example amr application to integrate linear elastic equations for
Lamb's problem in 2D.
Depends on the gnu, memdebug, graphics, box, flowvar, det and amr
directories.
Uncompress and tar, then look at LinearElasticity.tex.
To make the libraries, type "make".
-
FHN.tar.gz
FitzHugh-Nagumo MultiLevelEosModel.
Example multigrid application to integrate reaction-diffusion
equations for the FitzHugh-Nagumo model in 1D.
Depends on the gnu, memdebug, graphics, box, flowvar, det, amr and
multigrid directories.
Uncompress and tar, then look at FHN.tex.
To make the libraries, type "make".
-
MD.tar.gz
Miscible displacement MultiLevelEosModelWithWells.
Example multigrid application to integrate reaction-diffusion
equations for miscible displacement in 1D, 2D and 3D.
Depends on the gnu, memdebug, graphics, box, flowvar, det, amr and
multigrid directories.
Uncompress and tar, then look at MD.tex.
To make the libraries, type "make".
Please send questions, comments and suggestions to
DukeAMR@math.duke.edu