Giter VIP home page Giter VIP logo

monolayer_screening's Introduction

About

This repository provides a template for signac-flow projects based on the simple data management framework signac.

Documentation

The template project features the generation of a p-V phase diagram of a simulated Lennard-Jones (LJ) fluid and an ideal gas estimate. The LJ fluid is sampled via molecular dynamics using the HOOMD-blue particle simulation toolkit.

The signac data management framework itself does not enforce any specific workflow. Basic workflow management functions are implemented in the complementary signac-flow package, which provides the FlowProject class. This template project is designed to streamline and demonstrate how to specialize a FlowProject to implement a workflow on top of a signac project.

Beginners should start by looking through the signac documentation, especially the tutorial.

Documentation for the template itself is in the doc/ folder. You can build the documentation, which contains a detailed description of all components, with:

$ cd doc
make html

Quickstart

To get, started clone or better fork the repository. All project related modules are part of the my_project package, feel free to rename it. To execute the example workflow, follow these steps:

We start by initializing the project and a few state points with the init.py module.

python -m my_project.init 42

The number 42 is the random seed used for initialization, feel free to replace it with a different number or a text string, which will be converted into a numeric random seed.

The scripts/run.py script executes the operations defined in the scripts/operations.py module.

python scripts/run.py auto

The auto operation is a special meta-operation, which will execute all defined operations automatically in the right order.

We can checkout the project's status with the status.py module.

python -m my_project.status --detailed --parameters p

We use the --detailed flag to show the labels explicitly for each job. The --parameters (-p) pargument specifies state point parameters that should be shown in the status overview. In this case we specify to show the p variable, which stands for pressure.

Finally, we can analyze the data using a jupyter notebook, simply execute jupyter notebook within the project's root or scripts/ directory and execute the scripts/analysis.ipynb notebook.

Modules

The following list is a brief overview of the modules and scripts to be found within the project template.

Modules, that are usually modified by the user:

  • my_project/init.py - Initialize the project and jobs
  • my_project/project.py - Configure the project operation flow
  • scripts/operations.py - Definition of python-based operations

Modules, that are usually executed by the user:

  • scripts/run.py - Run operations defined in the operations.py module
  • my_project/status.py - Display the project's status
  • my_project/submit.py - Submit operation(s) to a (cluster) scheduler
  • my_project/swith_workspace.py - Switch the project's workspace

Other modules:

  • my_project/environment.py - Environment definitions
  • my_project/util/misc.py - Miscellaneous utility functions
  • my_project/util/hoomd.py - Various utility functions to be used with HOOMD-blue
  • my_project/util/tabulate.py - Functions for table formatting

Merge upstream updates

To synchronize your fork with the upstream repository, follow these steps:

cd your_project
git remote add upstream https://github.com/glotzerlab/signac-project-template.git
git fetch upstream

Then either merge

git merge upstream/master

or rebase

git rebase upstream/master

to synchronize your local master branch with the upstream master branch.

monolayer_screening's People

Contributors

ctk3b avatar summeraz avatar

Watchers

James Cloos avatar  avatar

Forkers

summeraz daico007

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.