Download from gerrithub via
git clone https://review.gerrithub.io/spacy-dev/Spacy \
&& (cd Spacy \
&& curl -kLo `git rev-parse --git-dir`/hooks/commit-msg \
https://review.gerrithub.io/tools/hooks/commit-msg; \
chmod +x `git rev-parse --git-dir`/hooks/commit-msg)
Push to gerrithub via (with my-branch=master,...)
git push origin HEAD:refs/for/my-branch
The core of Spacy does not require external dependencies.
Depending on your use-case the following dependencies may be required:
- googletest for compiling the tests (enable with
cmake .. -DBuildTest=ON
), - Eigen for enabling finite-dimensional problem descriptions
using namespace Spacy::Rn
(automatically enabled if cmake finds Eigen), - FunG an automatic-differentiation library that can be used for the definition of integrands for Kaskade 7, deal.II and for the generation of finite-dimensional problems with Eigen,
- Kaskade 7 for developing algorithms with Kaskade 7 (enable with
cmake .. -DKaskade=ON
), - FEniCS for developing algorithms with FEniCS (enable with
cmake .. -DDolfin=ON
). - deal.II for developing algorithms with deal.II (enable with
cmake .. -DdealII=ON
).
Currently there are integration tests for
Go to download folder, i.e.
cd Spacy
and type
mkdir build
cd build
cmake .. (-DBuildTest=ON -DDolfin=ON -DKaskade=ON -DCoverage=ON)
make (-j n_threads)
make install
Currently there are examples for
- simple usage without external libraries (currently a scalar example),
- Kaskade 7 using FunG,
- Eigen using FunG,
- FEniCS with and without FunG,
- deal.II with and without FunG
These are located in
Spacy/Examples/Kaskade
,Spacy/Examples/FEniCS
.
Paths to Kaskade may need to be adjusted according to your setup.