Code Monkey home page Code Monkey logo

maptool's Introduction

Build Status Coverage Status HitCount

Introduction

Maptool (Material Project Tool) is an open source python package for pre- and post- process input and output of first principles simulation software, which is based on Pymatgen and ASE and other open source python packages. Currently, the VASP code are mainly supported, later it will support more DFT codes. The package allows for generating, building, modifying and analysing of both molecular and crystal structure. Besides, maptool can automatically generating the input files for different DFT code and analysing the output, all results are saved with pretty format and figure based on matplotlib. See the documentation for information about installation and usage.

Features

  • Random generation of atomic (3D, 2D, and 1D) crystals and point group clusters for a given symmetry group and stoichiometry
  • Building of cluster, shell strcuture and surface
  • Add strain to crystal structure
  • Analysing of symmetry of molecule and crystal structure
  • Structure transformation to cif, xsf, xyz, mol or POSCAR files via pymatgen and ASE
  • General operation for 2D materials (splitting, strain, bending and so on)
  • VASP input generation and output analysing and visualization
  • Online retrieval function based on pymatgen
  • Local database for storing the previous result

Dependencies

Optional

Installation

$ git clone [email protected]:haidi-ustc/maptool.git
$ cd maptool
$ python setup.py install

To use online retrieval function, the materials project API_KEK should be added into the ~/.bashrc. The API_KEY can be obtained from materials project.

export MAPI_KEY='fdafdwe203213faf22'

use your own key replace the above string and write it into ~/.bashrc file.

After installation, excute the following command.

mpt -i

it will shows similar information:

maptool
------------

Version: 0.1.dev47+g08014e6.d20200419
Path:    /home/dgx/software/maptools/maptool
Date:    Apr-19-2020

Dependency
------------
Python version=3.7.4 (default, Aug 13 2019, 20:35:49) 
[GCC 7.3.0]

   pymongo      3.9.0   /home/dgx/miniconda3/lib/python3.7/site-packages/pymongo
     numpy     1.17.3   /home/dgx/miniconda3/lib/python3.7/site-packages/numpy
     scipy      1.3.1   /home/dgx/miniconda3/lib/python3.7/site-packages/scipy
    mayavi      4.7.1   /home/dgx/miniconda3/lib/python3.7/site-packages/mayavi
matplotlib      3.1.1   /home/dgx/miniconda3/lib/python3.7/site-packages/matplotlib
      tqdm     4.36.1   /home/dgx/miniconda3/lib/python3.7/site-packages/tqdm
    dpdata     0.1.2    /home/dgx/miniconda3/lib/python3.7/site-packages/dpdata/dpdata
      nose      1.3.7   /home/dgx/miniconda3/lib/python3.7/site-packages/nose
  coverage        5.1   /home/dgx/miniconda3/lib/python3.7/site-packages/coverage
    spglib     1.14.1   /home/dgx/miniconda3/lib/python3.7/site-packages/spglib
    pyhull   2015.2.1   /home/dgx/miniconda3/lib/python3.7/site-packages/pyhull
  pymatgen 2019.10.16   /home/dgx/miniconda3/lib/python3.7/site-packages/pymatgen
      qmpy            Not Found
       ase     3.19.0   /home/dgx/miniconda3/lib/python3.7/site-packages/ase
    pandas     0.25.2   /home/dgx/miniconda3/lib/python3.7/site-packages/pandas

How to use

The executable command of maptool is mpt,

mpt

you may select the corresponding function according to linux menu

+--------------------------------------------------------------------+
|                                     _              _               |
|               _ __ ___   __ _ _ __ | |_ ___   ___ | |              |
|              | '_ ` _ \ / _` | '_ \| __/ _ \ / _ \| |              |
|              | | | | | | (_| | |_) | || (_) | (_) | |              |
|              |_| |_| |_|\__,_| .__/ \__\___/ \___/|_|              |
|                              |_|                                   |
|                                                                    |
|                    0.1.dev52+g968793d.d20200420                    |
|                                                                    |
|                       Written by Wang haidi                        |
|                 URL  https://github.com/haidi-ustc                 |
|                Bug reports:([email protected])                |
+--------------------------------------------------------------------+
======================== structural operation ========================
a1 >>> random operation
a2 >>> convert operation
a3 >>> build operation
a4 >>> cleave opeartion
a5 >>> strain operation
a6 >>> 2D structure operation
======================== structural analysis =========================
b1 >>> structure symmetry
b2 >>> structure finger print
b3 >>> structure difference
b4 >>> get primitive cell
b5 >>> get conventional cell
b6 >>> get XRD pattern
========================= vasp in/out tools ==========================
c1 >>> prepare input files
c2 >>> analysis output files
c3 >>> summary output files
====================== vasp calclation workflow=======================
d1 >>> optimize structure
d2 >>> calculate band structure
d3 >>> calculate band structure HSE06
d4 >>> calculate dos
d5 >>> calculate dos by HSE06
d6 >>> calculate elastic properties
d7 >>> calculate phonon
d8 >>> execute MD simulation
========================== On-line database ==========================
e1 >>> (MP) get band/dos by mp-ID
e2 >>> (MP) get structure by mp-ID/elements/formula
e3 >>> (MP) get properties by mp-ID
e4 >>> (MP) get phase graph
e5 >>> (OQMD) get structure by ID/elements/formula
=========================== local database ===========================
f1 >>> check local database
f2 >>> get entry by l-ID
f3 >>> get entry by formula
f4 >>> get entry by element
f5 >>> insert entry into database
======================================================================

0  >>> back
88 >>> exit
your choce ?
--------------->>

For more information, please visit the

License

The code is open-source (licensed with a GPL license, see LICENSE)

maptool's People

Contributors

haidi-ustc avatar ionizing avatar qijingzheng avatar

Watchers

James Cloos 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.