/libdetran

deterministic transport utilities

Primary LanguageC++MIT LicenseMIT

README - libdetran
------------------

Detran is a set of simple utilities for deterministic neutral particle 
transport, mostly with a focus on easy algorithm development for reactor 
physics and other transport applications.  Several aspects of the design 
are directly inspired by ORNL code Denovo, especially with respect to 
object-orientation.  

Current features:
  - Multigroup diffusion, discrete ordinates, and method of 
    characteristics
  - Various built-in fixed source and eigenvalue solvers that can be extended
    via use of PETSc and SLEPc
  - Initial support for time-dependent transport with time varying sources
    and materials as well as support for arbitrary state-dependent materials
    for modeling feedback
  - Executable input via HDF5 or a somewhat limited text-based input
  - Full access via a SWIG-generated Python front end
  - Output to Silo for visualization in Visit or Paraview


INSTALLATION
------------

The up-to-date source is available at github.com/robertsj/libdetran.  If 
you are using a binary distribution, follow the relevant directions below.

Windows Users
-------------

The installer is essentially self-contained.  Execute it and allow a short
cut to be put in the menu.  Two items are added "Detran" and a link to 
uninstall.  "Detran" opens up a command window with the appropriate paths
set for using either the executable (xdetran) or the Python libraries.

Linux and OS X
--------------

The tarball is a complete build.  Simply do

>>> cd /path/to/where/you/want/detran
>>> cp /path/to/Detran-X.Y.Z-Arch.tar.gz .
>>> tar -xf Detran-X.Y.Z-Arch.tar.gz

Before you can use Detran, make sure to set the environment variables.
On Linux, that means 

>>> export PATH=$PATH:/path/to/detran/bin
>>> export LD_LIBRARY_PATH:$LD_LIBRARY_PATH:/path/to/detran/lib
>>> export PYTHONPATH:/path/to/detran/python

and on OS X, do the same but with DYLD_LIBRARY_PATH in place of 
LD_LIBRARY_PATH.  Of course, to make these permanent, add the
above lines to your .bash_profile (in Linux), .profile (in OS X),
or some similar file.  These are located in /home/yourname
or /User/yourname.