Skip to content

durgabhavaniv/quantum-mobile

 
 

Repository files navigation

Quantum Mobile

What is Quantum Mobile

Quantum Mobile is a Virtual Machine for computational materials science.

It comes with a collection of software packages for quantum mechanical calculations, including

all of which are set up and ready to be used through the AiiDA python framework for automated workflows and provenance tracking.

You can run Quantum Mobile on your Windows, MacOS or Linux computer using the VirtualBox software. You can also install Quantum Mobile on virtual machines using cloud services like Amazon Web Services or OpenStack.

Demo

Download the VM

Please see releases for the latest VM image and installation instructions.

For issues encountered during installation of the VM, see the FAQ.

Build it from scratch

You would like to add/remove some components of the VM and produce your own modified VM image?

This git repository contains all the vagrant and ansible scripts required to set up the VM from scratch (note: plan >1h for this).

Prerequisites

  • vagrant >= 2.0.1
  • virtualbox
  • python
  • Host OS: Building VM tested only on Unix systems so far (MacOS, Ubuntu). Might work under Windows with a few modifications.

Create Virtual Machine

git checkout git@github.com:marvel-nccr/quantum-mobile.git
cd quantum-mobile
pip install -r requirements.txt
ansible-galaxy install -r requirements.yml
vagrant plugin install vagrant-vbguest  # optional, improves interface
vagrant up  # build vm from scratch (takes some tens of minutes)

Note: Due to a bug in the vbguest vagrant plugin, there are some additional steps #60

Create image

# optional: reduce size of VM
ansible-playbook playbook.yml --extra-vars "clean=true"
./compact_hd.sh

./create_image.sh

Useful commands

  • vagrant provision --provision-with ansible: re-run ansible scripts
  • vagrant reload: restart machine
  • vagrant halt: stop machine
  • ANSIBLE_ARGS="-twannier90" vagrant provision --provision-with=ansible: run ansible scripts for the wannier90 tag
  • ./setup-ansible.sh             # inform ansible about ssh config
    ansible-playbook playbook.yml  # run ansible directly, add tags, ...
    ansible-playbook playbook.yml  --tags wannier90
    
  • ssh -F vagrant-ssh default
  • scp -F vagrant-ssh default:/path/on/vm my/path

Publishing customized VMs

If you would like to publish a customized version of Quantum Mobile, we recommend that you

  1. Fork this repository
  2. Give your VM a different name to avoid confusion
  3. Adapt globalconfig.yml, EULA.txt and README.md appropriately
  4. Pull the latest changes from time to time to keep things up to date

Last, but not least, let us know!

Contact

Please direct inquiries regarding Quantum Mobile to the AiiDA mailinglist

For issues encountered during installation of the VM, see the FAQ.

Acknowledgements

This work is supported by the MARVEL National Centre for Competency in Research and the MaX European centre of excellence

About

Scripts to set up the Quantum Mobile Virtual Machine

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 57.5%
  • Python 42.5%