GithubHelp home page GithubHelp logo

UppASD

Uppsala Atomistic Spin Dynamics software

The UppASD software package is a simulation suite to study magnetization dynamics by means of the atomistic version of the Landau-Lifshitz-Gilbert (LLG) equation.

Applications:

Features:

Detailed information about the method can be found in
Atomistic Spin Dynamics: Foundations and Applications
O. Eriksson et. al, Oxford University Press 2017


Quick-start:

./setup_UppASD.sh   
make <profile>

Where <profile> is a suitable compiler profile, i.e. ifort, gfortran, gfortran-osx, gfortran-ftn, aocc-ftn and so on.


Quick-start alternative (using cmake):

cmake -S . -B build   
cmake --build build

The binary is compiled to the ./bin/ directory.

Examples are provided in ./examples/

The code is documented in the UppASD manual.

A tutorial with examples and exercises on atomistic spin-dynamics are contained in the UppASD tutorial.

Developers please look at the development guidelines in the CONTRIBUTING.md file, about how to make your contributions to UppASD.


Graphical User Interface


A python based QT GUI for the code is also available at ./ASD_GUI/ASD_GUI.py. This allows for:

  • Visualization of outputs via VTK.
  • Plotting of several quantities via integrated matplotlib functionalities.
  • Automatic generation of input files for UppASD.

Requirements

  • Qt6.
  • python3.6 or higher.
    • pandas
    • numpy
    • PyYaml
    • matplotlib
  • VTK8.0 or higher.

Installation Guide (pip)

The recommended way to install the prerequisites for the ASD_GUI is currently to use pip and virtualenv environments.

After installing virtualenv one can create virtual environment where to host the ASD_GUI. This can be done in the following way:

pip install virtualenv
virtualenv ASD_GUI_env 
source ASD_GUI_env/bin/activate
pip install numpy matplotlib pyyaml pandas pyqt6 vtk

This will generate a virtual environment named ASD_GUI_env which can be activated or deactivated to run the GUI. The following steps are also recommended (starting from the base directory of the repo):

cd ASD_GUI
pip install .

This will install the GUI as a proper Python module and you can then start the GUI from any point in your file system by issuing the asd_gui command at the command prompt.

Installation Guide (anaconda)

An alternative way to install the prerequisites for the ASD_GUI can be done via the anaconda framework and its environments.

After installing anaconda one can create virtual environment where to host the ASD_GUI. This can be done in the following way:

conda create --name ASD_GUI_env python vtk numpy scipy matplotlib yaml pyyaml pandas pyqt
source activate ASD_GUI_env

This will generate a conda environment named ASD_GUI_env which can be activated or deactivated to run the GUI.

Note: The anaconda approach might not work untill the conda repositories update pyqt to support Qt6.


(C) 2008-2023 UppASD group

UppASD's Projects

aiida-uppasd icon aiida-uppasd

AiiDA plugin for the atomistic spin dynamics code UppASD

uppasd icon uppasd

The UppASD package is a simulation tool for atomistic spin dynamics and Monte Carlo simulations of Heisenberg spin systems.

uppasd_print_field icon uppasd_print_field

The UppASD package is a simulation tool for atomistic spin dynamics and Monte Carlo simulations of Heisenberg spin systems.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.