Giter Club home page Giter Club logo

aiida-uppasd's Introduction

UppASD-AiiDA Interface

avatar

The UppASD-AiiDA plugin is Interface between UppASD and AiiDAbased on the AiiDA plugin cutter or, The current version is intent to allows UppASD users to, e.g., deal with data provenance tracking problems with the help of AiiDA core.

The UPPASD program contains a suite of tools to simulate magnetic phenomena on an atomistic level. Its rich feature list involves state-of-the-art Monte Carlo and Atomistic Spin Dynamics (ASD) simulations. The program can be used for determining critical temperatures of materials as well as identifying magnetic ground states as well as exploring the magnetization dynamics in complex materials. It can also be used to both simulate and calculate, by means of linear spin-wave theory, the magnon dispersion relations for magnetic materials.

Our ambition includes but not limited in giving it possibility to improve ab initio studies with UppASD and AiiDA for atomistic magnetic phenomena.

If you use this plugin for your research, please cite the following work:

.. highlights:: Qichen Xu, Anders Bergman, Anna Delin, Jonathan Chico. Jornal Name XXX, YYYY (Year).

aiida-uppasd's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

aiida-uppasd's Issues

Change to build using `pyproject.toml`

To modernize the package the building tool should be changed to flit as explained in the aiida-core issue this allows to put all the information of the project in the pyproject.toml

AiiDA-2.x compatibility

With the release of aiida-2.x several changes, specially pertaining the repository, have been introduced.

To ensure that the plugin is compatible one needs to take care of issues with the opening of files from the repository, entrypoints, etc as indicated in the aida-core wiki

workflows should be more abstract

Many of the workflows right one are very application specific, e.g. trying to make the phase diagram of a skyrmion specifically instead of just a general phase diagram.

Visualization should be moved to separate modules

Several workflows have their visualization tools inside the workflows. They should be moved to different modules unless it is strictly necessary to have them for them to be part of the workflow.
The visualization tools then should be adapted so that a node can be passed as input and that the appropriate plots are then produced from them.

Plotting and visualization is a post processing operation not suitable for aiida unless you are storing the plots in the database.

This would imply that one also needs to add a extra installation option where the dependencies are mentioned there.

What do you think @MXJK851 , @anbergman ?

Remove nested orm types

The inputs sometimes have nested orm types. This is unnecessary. One should use flat orm types.

Add CI/CD tests

To minimize the problems resulting from the development one needs to add a test suite to the package.

The tests should cover the following areas:

  1. Parsing of the output files
  2. Generation of the input files for inpsd.dat
  3. Base calculation
    • MC
    • SD
  4. Workchains

The CI/CD should also be used for the generation of the documentation in readthedocs and pre-commit checking.

Restart workflow convergence tests

The restart workflow can be used to introduce convergence tests to check that the calculation has reached a ground state.

This could be added for the MC method, where one could check that the average magnetization, total energy, so on are checked so that one can see if the calculation has converged. If it has not one could then restart the calculation from the last iteration and it could be submitted again but eliminating any thermalization steps.

What do you think @MXJK851 , @anbergman ?

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.