@@ -7,12 +7,19 @@ Introduction
77
88PyDAS provides a means for Python code to utilize several notable Fortran-based
99differential algebraic system solvers from Python code. The solvers made
10- available -- DASSL, DASPK, and DASKR -- are all publicly-available from
10+ available -- DASSL and DASKR -- are all publicly-available from
1111`Netlib <http://www.netlib.org/ode/ >`_, and are distributed with PyDAS. PyDAS
1212provides a Python extension type for each solver, which in turn provides a
1313Pythonic means of setting the solver options, providing residual and jacobian
1414functions, and running the solver.
1515
16+ In addition, PyDAS also provides a wrapper to the DASPK3.1 solver, which
17+ has native sensitivity analysis. The source code for DASPK3.1 is subject to
18+ copyright restrictions but is available for research purposes. Due to these
19+ restrictions, it is up to the user to download these source files manually
20+ (or agree to download them during the prompt given when compiling the wrappers).
21+ Please see the README file inside the daspk31/ folder for more details.
22+
1623The DASSL, DASPK, and DASKR solvers are all substantially more robust than
1724VODE, the solver used within the ODE solver functionality provided by
1825`SciPy <http://www.scipy.org/ >`_.
@@ -71,41 +78,52 @@ Installation
7178
7279.. note ::
7380
74- Currently only the DASSL solver has been wrapped. The installation
75- scripts therefore only build and install the DASSL wrapper by default.
81+ Currently only the DASSL and DASPK3.1 solvers have been wrapped.
82+ The installation scripts build and install the DASSL wrapper and the
83+ DASPK wrapper (unless the DASPK3.1 fortran code was not compiled.)
7684
7785Windows
7886-------
7987
80- The provided batch scripts will compile all of the solvers and the PyDAS
81- wrapper code. These scripts presume that you have the 32-bit version of the
88+ The provided make.bat batch script will compile the DASSL solver and the PyDAS
89+ wrapper code. Use the make_daspk.bat script to compile the DASPK3.1 solver and the
90+ DASPK wrapper code. Make sure you have manually downloaded the DASPK3.1 source
91+ files into the daspk31 folder. See the daspk31/README file for more details.
92+ These scripts presume that you have the 32-bit version of the
8293MinGW C and Fortran compilers installed. Once you have run the batch script,
8394you can install PyDAS into your Python packages if you desire by running the
8495following command from the base package directory:
8596
8697 > python setup.py install
8798
99+ Use the following command if you want to install both the DASSL and DASPK wrappers:
100+
101+ > python setup.py daspk install
102+
88103Linux
89104-----
90105
91- A Makefile has been provided that can be used to compile all of the solvers
92- and the PyDAS wrapper code. To use, invoke the following command from the
106+ A Makefile has been provided that can be used to compile the DASSL solver and
107+ DASSL wrapper code. To use, invoke the following command from the
93108base package directory::
94109
95110 $ make
96111
97112This command will build PyDAS in-place, rather than installing it to your
98- Python package directory. If you wish to formall install PyDAS, run the
113+ Python package directory.
114+
115+ If you wish to formally install PyDAS, run the
99116following command from the base package directory after the ``make `` command
100117(you may need root privileges for this)::
101118
102- $ python setup.py install
119+ $ make install
103120
104121You may wish to write a file `make.inc ` that sets certain variables used by
105122the Makefiles (e.g. the Fortran compiler). An example of such a file,
106123`make.inc.example `, has been provided.
107124
108125
126+
109127Mac OS X
110128--------
111129
@@ -115,15 +133,14 @@ Homebrew (http://brew.sh) is an easy way to get gfortran::
115133
116134But your system may still not be able to find the correct `libgfortran.a ` library file
117135(see https://github.com/mxcl/homebrew/issues/8539 ). Also, there are some problems
118- linking with `clang `, so you need to make it link with `gcc `. This one-liner should
136+ linking with `clang `, so you need to make it link with `gcc `. This should
119137build and install, assuming you have NumPy, Cython, etc. all set up::
120138
121- $ LIBRARY_PATH=/usr/local/lib/gcc LDSHARED='gcc -bundle -undefined dynamic_lookup -arch x86_64' make F77=gfortran install
122-
123- Or perhaps, with a newer version of Homebrew / Python / gfortran / NumPy / Cython, it will be a simple::
124-
125- $ LIBRARY_PATH=/usr/local/Cellar/gfortran/4.8.0/gfortran/lib make F77=gfortran
139+ $ export LIBRARY_PATH=$(dirname $(gfortran -print-libgcc-file-name))
140+ $ make
141+ $ make install
126142
143+ Although at one stage it also required ``LDSHARED='gcc -bundle -undefined dynamic_lookup -arch x86_64' ``.
127144It seems to keep on changing. If you have difficulty, check the
128145`issue tracker <https://github.com/jwallen/PyDAS/issues/ >`_, and if you solve
129146your difficulty, please share your successful approach.
0 commit comments