Giter Club home page Giter Club logo

tilde's Introduction

Tilde

Build Status DOI PyPI

Tilde is an intelligent data organizer and Python framework for computational ab initio materials science. Tilde creates systemized data repositories from the simulation logs of VASP, CRYSTAL and Quantum ESPRESSO packages. Other data formats can be added relatively easily. The folders with the log files can be scanned and the results added into a repository. A simple usecase is described in this blog post. Web-based repository GUI is separately available.

WARNING! This is NOT the working software, but rather just a proof of concept. We internally use some parts of it in our in-house projects, but in general this repository is NOT recommended for any external usage, except educating or experimenting.

Installation

System packages

build-essential
python-dev
libffi-dev
pkg-config

(-dev or -devel) must be present.

Please, set up Python virtualenv inside the Tilde folder:

virtualenv --system-site-packages tilde

Then activate virtualenv:

. bin/activate

Virtualenv should be always used while working with the codebase. Run pip install -r requirements.txt to install Python dependencies. Finally, ensure if the framework is ready:

./utils/tilde -x

Additionally, installation is covered in this blog post.

Usage

./utils/tilde --help

For example, to scan folder(s) recursively (-r), with terse print (-t), showing information on calculation metadata (-i) and convergence (-v) and adding results to a database (-a):

./utils/tilde /home/user/work1 /home/work2 -r -t -v -a -i

Other example: for the perovskite structures (shipped with Tilde), extract the distortion of the MO6-octahedra wrt cubic phase (in Euler angles). Here the -m switch invokes perovskite_tilting module (see apps folder):

./utils/tilde tilde/tests/apps/perovskite_tilting/outputs -m perovskite_tilting

GUI

Experimental GUI server is started as follows:

python utils/gui_server.py

GUI client is the separate project called Berlinium.

Testing

sh tests/run_tests.sh

Licensing

MIT

Similar projects

See this curated list.

Openness principle

Tilde adopts the principle of open data, open source code and open standards declared by an initiative group with a symbolic name Blue Obelisk.

Blue Obelisk

Contact

Please, send your feedback, bugreports and feature requests via email, Twitter or GitHub.

tilde's People

Contributors

ansobolev avatar blokhin avatar pyup-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

tilde's Issues

Very slow DB saving

According to @ansobolev tests, 66% time of the entire parsing is spent in commit, 26% in read. Who is to blame, SQLite, DB schema, api.save() or alchemy?

Broken values for JSON encoding in CRYSTAL output

/home/Evgeny/data/samples/thesis_outputs/
Exception RuntimeError: 'generator ignored GeneratorExit' in <generator object _parse at 0xff9a107c> ignored
Traceback (most recent call last):
File "./utils/entry.py", line 202, in
checksum, error = Tilde.save(calc, session)
File "/home/Evgeny/tilde/tilde/core/api.py", line 570, in save
if len(calc.tresholds) > 1: ormcalc.struct_optimisation = model.Struct_optimisation(tresholds=json.dumps(calc.tresholds), ncycles=json.dumps(calc.ncycles))
OverflowError: Invalid Nan value when encoding double

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.