Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Pete Peterson
    @peterfpeterson
    testing
    Stuart Campbell
    @stuartcampbell
    Why should I use SpinWaveGenie over other codes ?
    Steven Hahn
    @quantumsteve

    @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.

    Garrett Granroth
    @granrothge
    So If I am right, builder.addInteraction(interactions.getExchange("J",1.0,name0,name0,0.9,1.1)); means that there is an exchange of unit 1 for all spins that are located between 0.9 and 1.1 Angstroms. Is that correct?
    Steven Hahn
    @quantumsteve
    @granrothge Yes, that is correct. The ExchangeInteraction class requires the name of two interacting sublattices (which can be the identical ) and a range of distances. Internally it uses this information to calculate a neighbor list containing the relative positions of all neighboring atoms matching that description.
    Steven Hahn
    @quantumsteve
    The magnetic form factor calculation assumes distances are in angstroms.
    Steven Hahn
    @quantumsteve
    I wrote streamlined instructions for users installing the SpinWaveGenie library on OS X. Would someone be willing to try it out?
    Garrett Granroth
    @granrothge

    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

    Steven Hahn
    @quantumsteve
    @granrothge I would first check your unit cell and parameters describing the exchange interactions. I often do this by creating a Neighbors object and printing out the neighbors it finds of the specified type and distance. You may also want to print out the LN matrix in the SpinWave object and make sure it is nonzero.
    Garrett Granroth
    @granrothge
    Ok so I got past the error, one of the exchanges was set to a distance that did not correspond to a spin-spin distance. Now I am getting no dispersion. Any hints?
    Steven Hahn
    @quantumsteve
    @granrothge When you say "no dispersion" does that mean no output or that the calculated frequencies for every branch are zero? I would first check if the LN matrix is nonzero and a few lines later verify that the calculated eigenvalues are real.
    Steven Hahn
    @quantumsteve
    I’m planning to tag an intial release (0.1.0) of SpinWaveGenie and create a RHEL6 RPM this Friday, April 24th. I’ll also request the library be installed on the SNS Analysis machines.
    Steven Hahn
    @quantumsteve
    Earlier today I tagged release v0.1.0 and copied an rpm to packages.sns.gov.
    Steven Hahn
    @quantumsteve
    Later this week I’m going to tag a patch release that addresses a build error in the examples. It’ll also fix two edge cases I found while adding tests but are extremely unlikely to affect anyone’s calculation.
    A quick workaround for those using 0.1.0 is to move the file examples/YFeO3_2_K_m3.py to examples/YFeO3/YFeO3_2_K_m3.py
    Steven Hahn
    @quantumsteve
    SpinWaveGenie v0.1.1 has been tagged and uploaded to packages.sns.gov. All users are encouraged to upgrade.
    https://github.com/SpinWaveGenie/SpinWaveGenie/releases/tag/v0.1.1
    Steven Hahn
    @quantumsteve
    After announcing version 0.1.1 on the NOBUGS and Neutron mailing lists, it is exciting to see the additional traffic on the SpinWaveGenie repository. GitHub reports that yesterday we had 413 views and 39 unique visitors!
    Steven Hahn
    @quantumsteve
    SpinWaveGenie is now on twitter! Please consider also following us at https://twitter.com/SpinWaveGenie
    Steven Hahn
    @quantumsteve
    Pull request SpinWaveGenie/SpinWaveGenie#47 has been merged into master and SpinWaveGenie now builds and passes our test suite on Windows with Visual Studio 2013! Compiler warnings still need to be addressed, additional libraries added the the ThirdParty repository and documentation written. Ambitious users are encouraged to follow the commands in our appveyor script.
    Steven Hahn
    @quantumsteve
    Now that the SNS has moved to RHEL 7, I’ve moved the travis-ci script to build with gcc 4.8 instead of gcc 4.4. Going forward, this will be the new minimum compiler version.
    Steven Hahn
    @quantumsteve

    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.

    Steven Hahn
    @quantumsteve
    SpinWaveGenie now builds on Windows with Visual Studio 2015!
    Steven Hahn
    @quantumsteve
    I started adding a python interface to SpinWaveGenie! On your mac, getting started is as easy as
    $ brew tap spinwavegenie/spinwavegenie
    $ brew install spinwavegenie —HEAD
    $ python 
    >>> import SpinWaveGenie
    Steven Hahn
    @quantumsteve

    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.

    https://github.com/SpinWaveGenie/SpinWaveGenie/releases/tag/v0.3.0