Giter VIP home page Giter VIP logo

zrl-aiida-toolbox's Introduction

zrl-aiida-toolbox

ZRL provided toolbox for AiiDA developped within the NCCR Marvel.

Requirements

The 1.0 alpha version of AiiDA is currently required.

Installation

pip install git+https://github.com/zrl-aiida-toolbox/zrl-aiida-toolbox.git@dev#egg=zrl-aiida-toolbox

Table of content

Data types

PotentialData (zrl.fitter.potential)

pair_type get/set str

Stores the type of short range pair potential.

bond_type get/set str

Stores the type of the bond potential.

unit_charge get/set float

Stores the unit charge.

charges get/set {str: float}

Stores for each element, the valence charges (atom charge = unit charge * valence charge).

pairs get

Tuple of dictionary containing the parameters of the pairs. The content of the dictionary will change based on the pair potential type, pair_type.

bonds get

Tuple of dictionary containing the parameters of the bonds. The content of the dictionary will change based on the bond potential type, bond_type.

set_pair(kind_1, kind_2, **kwargs)

Add a pair to the force field between elements kind_1 and kind_2 with parameters **kwargs. The parameters will vary based on your pair_type.

delete_pair(kind_1, kind_2)

Delete the pair between kind_1 and kind_2.

set_bond(kind_1, kind_2, **kwargs)

Add a bond to the force field between elements kind_1 and kind_2 with parameters **kwargs. The parameters will vary based on your bond_type.

delete_bond(kind_1, kind_2)

Delete the bond between kind_1 and kind_2.

Workchains

ReplicateWorkChain (zrl.utils.replicate)

This workchain creates a supercell based on the provided criteria. Currently supported criteria are, in order of precedence, explicit supercell size, maximum number of electrons and maximum volume.

Inputs:

  • structure: StructureData
  • parameters: ParameterData

Outputs:

  • structure: StructureData

The parameters input expects the following parameters:

  • a, b and c int: explicit supercell dimensions.
  • val_electrons {str: int}: dictionary containting the number of valence electrons used for each species.
  • max_electrons int: maximum number of valence electrons requested
  • max_volume float: maximum volume requested.

PartialOccupancyWorkChain (zrl.utils.partial_occ)

This workchain converts a structure containing partial occupancies into realisations of these partial occupancies respecting the fractional occupancies of the sites. The returned realisations are selected to minimize the Coulomb interactions between the partial sites assuming point-charge particles using a Monte-Carlo approach.

Inputs:

  • structure: StructureData
  • parameters: ParameterData
  • seed: Int (optional)

Outputs:

  • structures: [StructureData]
  • seed: Int
  • energy: ArrayData

The parameters input expects the following parameters:

  • charges {str: float}: a dictionary containing the charges to be used for the energy calculation
  • vacancy_ion str: the symbol of the element to be used as vacancy. By default, the workchain uses Lr. This does not need to be changed unless there is a conflict.
  • n_conf_target int: the number of realizations requested. The workchain will always return at most the requested number of generated structures (default: 1).
  • equilibration int: the number of steps used to equilibrate before the sampling (default: 10).
  • pick_conf_every int: the number of steps between two structures being selected (default: 100).
  • n_rounds int: the maximum number of rounds to execute, each round corresponding to the pick of one structure (default: equilibration + pick_conf_every + 10).
  • temperature float: effective temperature for the Monte-Carlo selection (default: 1000).
  • return_unique bool: flag controlling whether a structure can be returned multiple times (default: True).
  • selection str: selection method of the output structures. Options are reservoir sampling and last (default: reservoir sampling).

ShakeWorkChain (zrl.utils.shake)

This workchain adds a normal noise on the atomic positions and/or the lattice vectors.

Inputs:

  • structure: StructureData
  • parameters: ParameterData
  • seed: Int (optional)

Outputs:

  • structures: [StructureData]
  • seed: Int

The parameters input expects the following parameters:

  • stdev_atms float: standard deviation of the normal distribution used for the atomic positions.
  • stdev_cell float: standard deviation of the normal distribution used for the lattice vectors. positions.
  • n int: number of structures to generate.

StableStoichiometryWorkChain (zrl.stability)

Inputs:

  • structure: StructureData (optional)
  • parameters: ParameterData
  • partial_occ_parameters: ParameterData
  • energy.code: Code
  • energy.workchain: Str
  • energy.options: ParameterData
  • seed: Int (optional)

Outputs:

  • phi_ox: Float
  • phi_red: Float
  • seed: Int

The parameters input expects the following parameters:

  • sampling_method str: sampling method for the generation of the structures, currently only mc is supported (default: mc).
  • stoichiometry_rel_tol float: TODO
  • min_volume float: minimum bound for the target minimum volume forwarded to the replicate workchain.
  • max_volume float: maximum bound for the target minimum volume forwarded to the replicate workchain.
  • mobile_species str: species to calculate the stability against.
  • num_configurations int: number of configuration to generate.
  • energy_ref float: reference energy.

FitterWorkChain (zrl.fitter)

Calculations

FitterCalculation (zrl.fitter)

Inputs

  • structures: {uuid: StructureData}
  • force_field: PotentialData
  • bounds: {str: (float, float)}
  • forces: {uuid: ArrayData}
  • stress: {uuid: ParameterData}
  • energy: {uuid: energy}
  • parameters: ParameterData
  • weights: ParameterData

Outputs

  • force_field: PotentialData
  • cost: ArrayData

zrl-aiida-toolbox's People

Contributors

mottetm avatar tbi-sci avatar

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.