Code Monkey home page Code Monkey logo

atomify's Introduction

Atomify - a real time LAMMPS visualizer

Build Status Join the chat at https://gitter.im/ovilab

The typical workflow when developing scripts for LAMMPS includes working with several programs. A text editor is needed to modify the scripts, the terminal to run LAMMPS, and programs like VMD or Ovito reading trajectories from a file dumped to the disk to visualize the system over time. If physical quantities are computed with LAMMPS, the data is often plotted with MATLAB or Python. This is a tedious process, especially for teaching purposes and for people who are new to LAMMPS. We here introduce Atomify, a high performance live visualizer for LAMMPS simulations with stunning graphics able to simulate and render more than 250000 atoms with good frame rate. Atomify supports OpenMP parallelization, GPU acceleration, live plotting of LAMMPS variables and computes and an easy to use code editor in one single program. The latter utilizes the powerful machinery already built into LAMMPS to allow easy access to advanced physical quantities. Atomify is open source software written in C++ built on top of Qt.

Atomify lets you run LAMMPS and visualize the state live

How to install

MacOS

Alternative 1) Download the dmg (preferred). Atomify is installed in your Applications folder.

Alternative 2) Download the installer (requires administrator access).

Alternative 3 ) Install with Homebrew: brew install https://raw.githubusercontent.com/ovilab/atomify/dev/macos/atomify.rb. The installation takes ~10 minutes.

Alternative 4) Download from Mac App Store (this option has limitations on the file system).

Linux

Alternative 1) Download

Alternative 2) sudo snap install atomify

Windows

Coming soon.

How to build

If you have Homebrew (macOS), you can install with brew install https://raw.githubusercontent.com/ovilab/atomify/dev/macos/atomify.rb.

Step 1) You will need Qt 5.9. The easiest way to achieve this is to download Qt Creator from https://www.qt.io/download-open-source/ and install it from there. When you run the installer, you can just press skip when it asks you for the account. If you are using Mac, you can also uncheck the ~10GB iOS package unless you want that.

If you are on Ubuntu, you will also need OpenGL libraries. You can achieve this by running sudo apt install libgl1-mesa-dev.

Step 2) Clone the repository git clone --recursive https://github.com/ovilab/atomify.git

Step 3) Open the atomify directory and run python configure.py which will configure and compile LAMMPS.

Step 4) Open atomify.pro in Qt Creator and build/run (remember to choose Release mode for better performance).

How to add/remove LAMMPS packages

If you compiled Atomify yourself, you can easily modify the LAMMPS installation (packages and your own code). LAMMPS is located in libs/lammps. You need to recompile LAMMPS with (being in the libs/lammps/src folder) make atomify mode=lib. Then you need to recompile Atomify, but Qt won't detect your changes unless you modify i.e. main.cpp (just add a line and save to modify date).

atomify's People

Watchers

 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.