@stuartcampbell Thank you for your interest! We believe SpinWaveGenie contains several features that help is stand out among competing solutions.
Performant. SpinWaveGenie is written in C++ using many C++11 features. Linear algebra operations utilize the Eigen libary and the code is parallelized over Q-points using the Intel Threaded Building Blocks.
Post-processing. Convolute your model calculation with a resolution function and/or integrate each data point over a region in reciprocal space.
Extensible. New interactions can easily be added by inheriting an abstract base class. Additional post-processing effects can be added via composition.
Cross-platform. Our continuous integration platform builds on both linux and OS X. A homebrew formula and rpm package simplify user installation.
No costly dependencies. SpinWaveGenie and all of its dependencies are freely available and open source.
The SpinWaveGenie wiki contains many examples to help new users get started and continues to grow as we use SpinWaveGenie to model new materials.
I received the following runtime error any hints?
Assertion failed: (index >= 0 && index < size()), function operaAssertion failed: (index >= 0 &&tor, file /usr/local/include/e index < size()), function operaigen3/Eigen/src/Core/DenseCoeffstor, file /usr/local/include/eBase.h, line 156.
igen3/Eigen/src/Core/DenseCoeffsAssertion failed: (index >= 0 &&Base.h, line 156.
index < size()), function operator, file /usr/local/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h, line 156.
Assertion failed: (index >= 0 && index < size()), function operator, file /usr/local/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h, line 156.
Assertion failed: (index >= 0 &&Assertion failed: (index >= 0 && index < size()), function operaAbort trap: 6
I ran clang-modernize on the SpinWaveGenie library and merged the changes into master. It found quite a few places where an iterator loop can be replaced with a range-based for loop or a NULL replaced with a nullptr.
I look forward to adding more C++11/14 language and library features in the coming months.
SpinWaveGenie v0.3.0 has been released and is now available on GitHub! The homebrew formula has been updated and builds with both Python2 and Python3.