DAE Tools Publisher's description
DAE Tools is a collection of software tools for modelling, simulation and optimization of real-world processes.
DAE Tools is a collection of software tools for modelling, simulation and optimization of real-world processes. Process modelling and simulation can be defined as theoretical concepts and computational methods that describe, represent in a mathematical form and simulate the functioning of real-world processes. DAE Tools is initially developed to model and simulate processes in chemical process industry (mass, heat and momentum transfers, chemical reactions, separation processes, thermodynamics). However, DAE Tools can help you develop high-accuracy models of (in general) many different kind of processes/phenomena, simulate/optimize them, visualize and analyse the results. Its features should be sufficient to enable mathematical description of chemical, physical or socio/economic phenomena. The most common are initial value problems of implicit form, which can be formulated as systems of linear, non-linear, and partial differential algebraic equations.
DAE Tools is a cross-platform equation-oriented process modelling and optimization system. All core libraries are written in standard ANSI/ISO c++ . It is highly portable - it can run on every platform with a decent c++ compiler, Boost and standard c/c++ libraries (by now it is tested on 32/64 bit x86 and ARM architectures making it suitable for use in embedded systems). DAE Tools core libraries are small and fast, and each module can be easily extended. Models can be developed in Python (pyDAE module) or c++ (cDAE module), compiled into an independent executable and deployed without a need for any run time libraries.
Various types of processes (lumped or distributed, steady-state or dynamic) can be modelled and optimized. They may range from very simple to those which require complex operating procedures. Equations can be ordinary or discontinuous, where discontinuities are automatically handled by the framework. Model reports containing all information about a model can be exported in XML MathML format automatically creating a high quality documentation. The simulation results can be visualized, plotted and/or exported into various formats.
Currently Sundials IDAS solver is used to solve DAE systems and calculate sensitivities, while BONMIN, IPOPT, and NLOPT solvers are used to solve NLP/MINLP problems. DAE Tools support direct dense and sparse matrix linear solvers (sequential and multi-threaded versions) at the moment. In addition to the built-in Sundials linear solvers, several third party libraries are interfaced: SuperLU/SuperLU_MT, Intel Pardiso, AMD ACML, Trilinos Amesos (KLU, Umfpack, SuperLU, Lapack), and Trilinos AztecOO (with built-in, Ifpack or ML preconditioners) which can take advantage of multi-core/cpu computers. Linear solvers that exploit general-purpose graphics processing units (GPGPU, such as NVidia CUDA) are also available (SuperLU_CUDA, CUSP) but in an early development stage.
DAE Tools models can be exported into some other modelling languages. At the moment, models can be exported into pyDAE (python) and cDAE (c++) but other languages will be supported in the future (such as OpenModelica, EMSO ...).
What's New in This Release:В· daeObjectiveFunction, daeOptimizationVariable, and daeOptimizationConstraint classes have two new attributes (Value and Gradients). daeSimulation::Initialize function accepts an additional argument bCalculateGradients (default is false) which instructs simulation object to calculate gradients of the objective function and optimization variables specified in daeSimulation::SetUpSensitivityAnalysis overloaded function. These changes allow much easier coupling of daetools with some external software (as given in optimization tutorials 4 and 5).
В· New type of ports: event ports (daeEventPort class). Event ports allow sending of messages (events) between two units (models). Events can be triggered manually or as a result of a state transition in a model. The main difference between event and ordinary ports is that the former allow a discrete communication between units while latter allow a continuous exchange of information. A single outlet event port can be connected to unlimited number ...
System Requirements:В· Python 2.7
Program Release Status: New Release
Program Install Support: Install and Uninstall