Skip to content

siegfriedkaidisch/RIIGID

Repository files navigation

Logo

Introduction

RIIGID is a geometry optimization package written in Python, intended to be used in theoretical solid state physics and quantum chemistry. While its initial purpose was to identify energetically favorable (surface-molecule) interface geometries, it is not restricted to periodic systems. As an example, it can also be used to find the separation between the two molecules in a dimer (gas-phase calculation).

How It Works

The structure under investigation is separated into so-called fragments, which are a set of atoms with fixed bonds between them (usually molecules), thus forming a rigid body. Using an ASE calculator, the forces on each atom are found, which are then used to calculate the force and torque on each fragment. Just like rigid bodies, the fragments are then moved in accordance to these forces and torques. This way, the energy of this system of (rigid) fragments is minimized.

Read the Docs

Example of a molecule moving on surface

Authors

Siegfried Kaidisch (siegfried.kaidisch(at)uni-graz.at)

Quickstart

from riigid import RIIGID

atoms = <an ASE Atoms object>
indices = <list of indices of atoms to form a Fragment>
calculator_name = "the name of the calculator you want to use"
calculator_settings = <dict of calculator settings>

riigid = RIIGID(atoms=atoms)
riigid.define_fragment_by_indices(indices=indices, allowed_translation="xyz", allowed_rotation="xyz")
riigid.set_calculator(calculator=calculator_name, settings=calculator_settings)
riigid.run()

Installation

From PyPI:

pip install RIIGID

From GitHub:

git clone https://github.com/siegfriedkaidisch/RIIGID
cd RIIGID
pip install .

Usage

The user has to define the atomic system (as an ASE Atoms object), define the fragments and choose a calculator. Thanks to RIIGID's reliance on the ASE package, many different atomic structure codes (e.g.: VASP) can be used as a calculator.

RIIGID comes with its own optimizers and convergence criteria. The user can choose explicitly which optimizer and convergence criterion to use, or keep the defaults.

Information about the optimization is written to RIIGID's own output files. Additionally, an ASE trajectory file is produced.

Have a look at the demo folder for working examples! Note, that for the demo to work, ASE must be able to execute your VASP installation, see the ASE documentation

Known issues

For a list of known issues please see the issues page on GitHub, otherwise please open a new issue.

Misc.

The logo was created using this Image by katemangostar on Freepik.

About

RIIGID - RIgid Interface Geometry IDentification

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published