Supported platforms:
The software works on both python 2 and 3. The binaries are provided for 2.7, 3.5, 3.6 and 3.7.
Mandatory packages:
Optional packages:
daetools/ext_libs/SALib
)daetools/ext_libs/pyevtk
)Optional packages (proprietary):
For more information on how to install packages please refer to the documentation for the specific library. By default all versions (GNU/Linux, Windows and MacOS) come with the Sundials dense LU linear solver, SuperLU, SuperLU_MT, Trilinos Amesos (with built-in support for KLU, SuperLU and Lapack linear solvers), Trilinos AztecOO (with built-in support for Ifpack and ML preconditioners), NLOPT and IPOPT/BONMIN (with MUMPS linear solver and PORD ordering).
Additional linear solvers (such as Pardiso and IntelPardiso) must be downloaded separately since they are subject to different licensing conditions (not free software).
The installation files can be downloaded from the downloads section or from the SourceForge website.
Nota bene
From the version 1.7.2 DAE Tools use setuptools
to distribute python packages and extensions.
Nota bene
From the version 1.6.0 Windows installer is not provided anymore.
The naming convention for the installation files: daetools-major.minor.platform-architecture.tar.gz
where major.minor.build
represents the version (1.8.0
for instance),
platform
can be gnu_linux
, win32
and macosx
, and
architecture
can be i686
, x86_64
or universal
.
An example: daetools-1.8.0-gnu_linux-x86_64.tar.gz
is the version 1.8.0 for 64 bit GNU/Linux.
For other platforms, architectures and python versions not listed in System requirements
daetools must be compiled from the source.
The source code can be downloaded either from the subversion tree or from the download section
(daetools-1.8.0-source.tar.gz
for instance).
The package names are for python 2.
Debian GNU/Linux and derivatives (Ubuntu, Linux Mint)
# DAE Tools v1.6.1 and newer require PyQt5 (older versions use PyQt4: python-qt4)
# Python 2:
sudo apt-get install python-numpy python-scipy python-matplotlib python-pyqt5 mayavi2 python-lxml
# Optional packages:
sudo apt-get install python-openpyxl python-h5py python-pandas python-pygraphviz
# Python 3:
sudo apt-get install python3-numpy python3-scipy python3-matplotlib python3-pyqt5 mayavi2 python3-lxml
# Optional packages:
sudo apt-get install python3-openpyxl python3-h5py python3-pandas python3-pygraphviz
Red Hat and derivatives (Fedora, CentOS):
# DAE Tools v1.6.1 and newer require PyQt5 (older versions use PyQt4)
# Python 2:
sudo yum install python-numpy python-scipy python-matplotlib python-qt5 Mayavi python-lxml
# Optional packages:
sudo yum install python-openpyxl python-h5py python-pandas python-pygraphviz
# Python 3:
sudo yum install python3-numpy python3-scipy python3-matplotlib python3-qt5 Mayavi python3-lxml
# Optional packages:
sudo yum install python3-openpyxl python3-h5py python3-pandas python3-pygraphviz
SUSE Linux:
# DAE Tools v1.6.1 and newer require PyQt5 (older versions use PyQt4: python-qt4)
# Python 2:
sudo zypper in python-numpy python-scipy python-matplotlib python-qt5 python-lxml
# Optional packages:
sudo zypper in python-openpyxl python-h5py python-pandas python-pygraphviz
# Python 3:
sudo zypper in python3-numpy python3-scipy python3-matplotlib python3-qt5 python3-lxml
# Optional packages:
sudo zypper in python3-openpyxl python3-h5py python3-pandas python3-pygraphviz
Arch Linux:
# DAE Tools v1.6.1 and newer require PyQt5 (older versions use PyQt4: python2-pyqt4)
# Python 2:
sudo pacman -S python2-numpy python2-scipy python2-matplotlib python2-pyqt5 mayavi python-lxml
# Optional packages:
sudo pacman -S python2-openpyxl python2-h5py python2-pandas python2-pygraphviz
# Python 3:
sudo pacman -S python-numpy python-scipy python-matplotlib python-pyqt5 mayavi python-lxml
# Optional packages:
sudo pacman -S python-openpyxl python-h5py python-pandas python-pygraphviz
Install dependencies using:
# DAE Tools v1.6.1 and newer require PyQt5 (older versions use PyQt4: pyqt=4.11)
conda install numpy scipy matplotlib pyqt lxml pandas h5py openpyxl
conda install -c menpo vtk=7
pip install pygraphviz pymetis mayavi
Unpack the downloaded archive, cd to the daetools-X.Y.Z-platform-architecture
folder and install DAE Tools by typing
the following shell command:
sudo python setup.py install
You can also install DAE Tools into a python virtual environment:
source activate <environment_name>
python setup.py install
Virtual environments in conda
can be created using the following command:
conda create -n environment_name python=x.x
Install dependencies using:
# DAE Tools v1.6.1 and newer require PyQt5 (older versions use PyQt4: pyqt=4.11)
conda install numpy scipy matplotlib pyqt lxml pandas h5py openpyxl
conda install -c menpo vtk=7
pip install pygraphviz pymetis mayavi
Unpack the downloaded archive, cd to the daetools-X.Y.Z-platform-architecture
folder and install DAE Tools by typing
the following shell command:
sudo python setup.py install
You can also install DAE Tools into a python virtual environment:
source activate <environment_name>
python setup.py install
The easiest way is to install one of available scientific python distributions:
Install dependencies using:
# DAE Tools v1.6.1 and newer require PyQt5 (older versions use PyQt4: pyqt=4.11)
conda install numpy scipy matplotlib pyqt lxml pandas h5py openpyxl
conda install -c menpo vtk=7
pip install pygraphviz pymetis mayavi
To be able to create 3D plots you need to install Mayavi2 package. It can be installed using the following shell command:
easy_install "Mayavi[app]"
No installers are provided for Windows anymore. The installation process is the same for all platforms.
Unpack the downloaded archive, cd to the daetools-X.Y.Z-platform-architecture
folder and install DAE Tools by typing
the following shell command:
python setup.py install
You can also install DAE Tools into a python virtual environment:
activate <environment_name>
python setup.py install
To compile the DAE Tools the following is needed:
python
and numpy
modulesBoost
, Sundials IDAS
, Trilinos
,
SuperLU
, SuperLU_MT
, Bonmin
, NLopt
, deal.II
, blas
, lapack
All DAE Tools modules are developed using the QtCreator/QMake cross-platform integrated development environment. The source code can be downloaded from the SourceForge website or checked out from the DAE Tools subversion repository:
svn checkout svn://svn.code.sf.net/p/daetools/code daetools
First, install all the necessary dependencies by executing install_python_dependencies_linux.sh
and
install_dependencies_linux.sh
shell script located in the trunk
directory.
They will check the OS you are running (currently Debian, Ubuntu, Linux Mint, CentOS, Suse Linux,
Arch Linux and Fedora are supported but other can be easily added) and install all necessary packages needed for DAE Tools
development.
# 'lsb_release' command might be missing on some GNU/Linux platforms
# and has to be installed before proceeding.
# On Debian based systems:
# sudo apt-get install lsb-release
# On red Hat based systems:
# sudo yum install redhat-lsb
cd daetools/trunk
sh install_dependencies_linux.sh
Then, compile all third-party libraries by executing compile_libraries.sh
shell script located in the
trunk
directory. The script will download all necessary source archives from the DAE Tools SourceForge web-site,
unpack them, apply changes and compile them.
sh compile_libraries.sh all
It is also possible to compile individual libraries using one of the following options:
all All libraries and solvers.
On GNU/Linux and macOS equivalent to: boost ref_blas_lapack umfpack idas superlu superlu_mt ipopt bonmin nlopt
coolprop trilinos deal.ii
On Windows equivalent to: boost cblas_clapack mumps idas superlu ipopt bonmin nlopt coolprop trilinos deal.ii
Individual libraries/solvers:
boost Boost libraries (system, filesystem, thread, python)
boost_static Boost static libraries (system, filesystem, thread, regex, no python nor --buildid set)
ref_blas_lapack reference BLAS and Lapack libraries
cblas_clapack CBLAS and CLapack libraries
mumps Mumps linear solver
umfpack Umfpack solver
idas IDAS solver
idas_mpi IDAS solver with MPI interface enabled
superlu SuperLU solver
superlu_mt SuperLU_MT solver
bonmin Bonmin solver
nlopt NLopt solver
trilinos Trilinos Amesos and AztecOO solvers
deal.ii deal.II finite elements library
coolprop CoolProp thermophysical property library
opencs OpenCS library
Requires cblas_clapack, idas (with MPI support enabled), metis, hdf5 and trilinos libraries
compiled using the compile_opencs.sh script from the OpenCS directory.
After compilation, the shared libraries will be located in trunk/daetools-package/daetools/solibs
directory.
Finally, compile all DAE Tools libraries and python modules by executing compile.sh
shell script located
in the trunk
directory.
sh compile.sh all
It is also possible to compile individual libraries using one of the following options:
all Build all daetools c++ libraries, solvers and python extension modules.
On GNU/Linux and macOS equivalent to: dae superlu superlu_mt trilinos ipopt bonmin nlopt deal.ii
On Windows equivalent to: dae superlu trilinos ipopt bonmin nlopt deal.ii
dae Build all daetools c++ libraries and python extension modules (no 3rd party LA/(MI)NLP/FE solvers).
Equivalent to: config units data_reporting idas core activity simulation_loader fmi
solvers Build all solvers and their python extension modules.
On GNU/Linux and macOS equivalent to: superlu superlu_mt trilinos ipopt bonmin nlopt deal.ii
On Windows equivalent to: superlu trilinos ipopt bonmin nlopt deal.ii
pydae Build daetools core python extension modules only.
Individual projects:
config Build Config shared c++ library.
core Build Core c++ library and its python extension module (pyCore).
activity Build Activity c++ library and its python extension module (pyActivity).
data_reporting Build DataReporting c++ library and its python extension module (pyDataReporting).
idas Build IDAS c++ library and its python extension module (pyIDAS).
units Build Units c++ library and its python extension module (pyUnits).
simulation_loader Build simulation_loader shared library.
fmi Build FMI wrapper shared library.
fmi_ws Build FMI wrapper shared library that uses daetools FMI web service.
trilinos Build Trilinos Amesos/AztecOO linear solver and its python extension module (pyTrilinos).
superlu Build SuperLU linear solver and its python extension module (pySuperLU).
superlu_mt Build SuperLU_MT linear solver and its python extension module (pySuperLU_MT).
pardiso Build PARDISO linear solver and its python extension module (pyPardiso).
intel_pardiso Build Intel PARDISO linear solver and its python extension module (pyIntelPardiso).
bonmin Build BONMIN minlp solver and its python extension module (pyBONMIN).
ipopt Build IPOPT nlp solver and its python extension module (pyIPOPT).
nlopt Build NLOPT nlp solver and its python extension module (pyNLOPT).
deal.ii Build deal.II FEM library and its python extension module (pyDealII).
cape_open_thermo Build Cape Open thermo-physical property package library (cdaeCapeOpenThermoPackage.dll, Windows only).
opencl_evaluator Build Evaluator_OpenCL library and its python extension module (pyEvaluator_OpenCL).
pyopencs Build pyOpenCS python extension module (pyOpenCS).
All python extensions are located in the platform-dependent locations in trunk/daetools-package/daetools/pyDAE
and
trunk/daetools-package/daetools/solvers
folders.
DAE Tools can be now installed using the information from the sections above.
OpenCS support can be enabled in the following way
(MPI and OpenCL header files and libraries are required).
First, compile all third-party libraries required for OpenCS by executing compile_opencs.sh
shell script located in the
OpenCS
directory. The script will download all necessary source archives, unpack and compile them.
cd trunk/OpenCS
sh compile_opencs.sh libs
Next, compile OpenCS:
sh compile_libraries.sh opencs
and finally the OpenCL evaluator and OpenCS python wrappers:
sh compile.sh opencl_evaluator pyopencs
DAE Tools can also be compiled from within QtCreator IDE. First install dependencies and compile third party libraries (as explained in the section From the command line) and then do the following:
-spec linux-g++
-spec macx-g++
dae
project (you can add the additional Make argument -jN
to speed-up the compilation process,
where N is the number of processors plus one; for instance on the quad-core machine you can use -j5
)SuperLU/SuperLU_MT
and Bonmin/Ipopt
solvers.
SuperLU/SuperLU_MT
and Bonmin/Ipopt
share the same code and the same project file so some
hacking is needed. Here are the instructions how to compile them:libcdaeBONMIN_MINLPSolver.a
and pyBONMIN.so
:CONFIG += BONMIN
in BONMIN_MINLPSolver.pro
, run qmake
and then compileCONFIG += BONMIN
in pyBONMIN.pro
, run qmake
and then compilelibcdaeIPOPT_NLPSolver.a
and pyIPOPT.so
:CONFIG += IPOPT
in BONMIN_MINLPSolver.pro
, run qmake
and then compileCONFIG += IPOPT
in pyBONMIN.pro
, run qmake
and then compilelibcdaeSuperLU_LASolver.a
and pySuperLU.so
:CONFIG += SuperLU
in LA_SuperLU.pro
, run qmake
and then compileCONFIG += SuperLU
in pySuperLU.pro
, run qmake
and then compilelibcdaeSuperLU_MT_LASolver.a
and pySuperLU_MT.so
:CONFIG += SuperLU_MT
in LA_SuperLU.pro
, run qmake
and then compileCONFIG += SuperLU_MT
in pySuperLU.pro
, run qmake
and then compileLA_Trilinos_Amesos
and then pyTrilinos
projectNLOPT_NLPSolver
and then pyNLOPT
projectpyDealII
project (no compile needed for FE_DealII
project since all files there are header files/templates)Nota bene
DAE Tools supported cross-compilation in the versions 1.3.0 to 1.6.0.
New versions support native MSVC++ compilers
(vc++ 2015 required for python 3.5 and 3.6).
First, download and install (a) Visual Studio Community Edition 2015
or (b) Visual Studio 2017
and VC++ Build Tools 2015
. Python 3.5 and 3.6 are compiled using VC++ 2015 (msvc++ v14.0
).
Start x86
(32 bit builds) or x64
(64 bit builds) Visual C++ 2015 Command Prompt
. Install some software that provides
bash
environment. Git for Windows has been successfully tested. During installation,
when asked select the following options:
PATH
(nota bene: it might ‘hide’ some Windows commands such as find
):
i.e. C:\Program Files\Git\cmd;C:\Program Files\Git\mingw32\bin;C:\Program Files\Git\usr\bin
wget
is required to download the source archives from the DAE Tools SourceForge website.
If wget
is missing it can be downloaded from http://gnuwin32.sourceforge.net/packages/wget.htm.
The source archives can also be downloaded manually to the trunk
directory.
Next, compile all required third party libraries using the following command:
sh compile_libraries.sh all
Finally, compile all DAE Tools libraries and python modules by executing compile.sh
shell script located
in the trunk
directory.
sh compile.sh all
The OpenCS support can be compiled in the same way as in GNU/Linux and macOS. First, install Microsoft MPI (https://www.microsoft.com/en-us/download/details.aspx?id=57467) and OpenCL (if not installed with graphics drivers) and follow the procedure described in the section From the command line.