NumEquaRes is a tool for numerical analysis of ordinary differential equations. The tool is available online at equares.ctmech.ru.
We have formulated our requirements as follows:
- Speed matters. NumEquaRes performs faster than MATLAB, SciLab, and the like.
- Freedom matters. NumEquaRes is free software. Thus, everyone can extend its functionality.
- Ease of use matters.
- User should be able to use it easily without having to do advanced training.
- User shouldn't have to install a ton of software to get it all work.
Fast basically means implementation of your custom equations in a native language, e.g. C++. So our system needs a compiler to compile your equations. But we don't want to force user to install a compiler! That's why NumEquaRes is an online system: we install everything on the server, you just use it.
NumEquaRes is built of the following components
equares_core(C++): library providing the computational functionality
equares_con(C++): console front-end to
- Web interface
equares_http(node.js): HTTP-server providing the Web interface to NumEquaRes
captchagen(C++): captcha generator
imgresize(C++): image resizer
Technologies involved are as follows
- C++ code is using
- Besides, running server app requires the mongoDB database engine
To build the NumEquaRes core, you will need QtCreator (see qt-project.org or just an installed version of Qt (4.8+, 5.x also supported).
Optionally, you can install and use the ACML library.
To use it, supply the
ACML_DIR variable to
qmake like this:
qmake ACML_DIR=/opt/acml5.3.1/gfortran64 other arguments
Doing so will enhance the functionality of some boxes; some boxes, e.g. Eigenvalues, are not available at all without the use of ACML.
ACML_DIR variable must be set to the path to an installed version of
ACML. That directory is expected to contain
lib/libacml.so (Linux) or
Project file to open with QtCreator is
Optionally, you can build project using the command line:
mkdir build-equares-release cd build-equares-release qmake CONFIG+=release ACML_DIR=/path/to/acml/installation ../equares/equares.pro make
Nothing more needs to be built.
To run equares http server, you will need to install
- node modules mentioned above; this is done with the command
npm installissued from the
- MathJax — run
./install-mathjax.shfrom within the
The EQUARES_BIN environment variable must be set to point to the directory containing core binaries, e.g. (on Linux, prvided
the build root is
On Linux, you will likely need to set the
LD_LIBRARY_PATH environment variable to the same directory:
Before running the server, you should also do these things.
- Make sure mongodb server is running on localhost.
- Provide the file
equares_http/email-settings.json(consider example file
The server is started with the command
issued in the