All Projects → Quantum-Dynamics-Hub → libra-code

Quantum-Dynamics-Hub / libra-code

Licence: GPL-3.0, GPL-3.0 licenses found Licenses found GPL-3.0 LICENSE GPL-3.0 COPYING
quantum-dynamics-hub.github.io/libra/index.html

Programming Languages

Jupyter Notebook
11667 projects
Roff
2310 projects
C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
Gnuplot
187 projects
CMake
9771 projects

Projects that are alternatives of or similar to libra-code

Schnetpack
SchNetPack - Deep Neural Networks for Atomistic Systems
Stars: ✭ 296 (+796.97%)
Mutual labels:  molecular-dynamics, quantum-chemistry
OpenFermion-PySCF
OpenFermion plugin to interface with the electronic structure package PySCF.
Stars: ✭ 76 (+130.3%)
Mutual labels:  quantum-chemistry, electronic-structure
isicle
In silico chemical library engine for high-accuracy chemical property prediction
Stars: ✭ 31 (-6.06%)
Mutual labels:  molecular-dynamics, quantum-chemistry
Awesome Python Chemistry
A curated list of Python packages related to chemistry
Stars: ✭ 410 (+1142.42%)
Mutual labels:  molecular-dynamics, quantum-chemistry
sGDML
sGDML - Reference implementation of the Symmetric Gradient Domain Machine Learning model
Stars: ✭ 86 (+160.61%)
Mutual labels:  molecular-dynamics, quantum-chemistry
Pennylane
PennyLane is a cross-platform Python library for differentiable programming of quantum computers. Train a quantum computer the same way as a neural network.
Stars: ✭ 800 (+2324.24%)
Mutual labels:  quantum, quantum-chemistry
Molecular Design Toolkit
Notebook-integrated tools for molecular simulation and visualization
Stars: ✭ 123 (+272.73%)
Mutual labels:  molecular-dynamics, quantum-chemistry
Learnquantum
Repo of resources to help learn about quantum computing.
Stars: ✭ 143 (+333.33%)
Mutual labels:  quantum, quantum-chemistry
FCND-Term1-P3-3D-Quadrotor-Controller
Udacity Flying Car Nanodegree - Term 1 - Project 3 - 3D Quadrotor Controller
Stars: ✭ 31 (-6.06%)
Mutual labels:  dynamics
SCEMa
HMM implementation featuring Deal.II (FE) and LAMMPS (MD)
Stars: ✭ 14 (-57.58%)
Mutual labels:  molecular-dynamics
whitelister
Simple, basic filtering and validation tool for Node.js.
Stars: ✭ 46 (+39.39%)
Mutual labels:  utilities
mbuild
A hierarchical, component based molecule builder
Stars: ✭ 119 (+260.61%)
Mutual labels:  molecular-dynamics
quantumjava
Samples related to "Quantum Computing for Java Developers"
Stars: ✭ 86 (+160.61%)
Mutual labels:  quantum
Biblioteca-DDR-Java
Funciones java con utilidades para distintos proyectos
Stars: ✭ 19 (-42.42%)
Mutual labels:  utilities
framestack
Tools, Frameworks & Libraries to help you build your projects ✨
Stars: ✭ 27 (-18.18%)
Mutual labels:  utilities
NCoVUtils
Utility functions for the 2019-NCoV outbreak
Stars: ✭ 27 (-18.18%)
Mutual labels:  utilities
foyer
A package for atom-typing as well as applying and disseminating forcefields
Stars: ✭ 78 (+136.36%)
Mutual labels:  molecular-dynamics
iqsharp
Microsoft's IQ# Server.
Stars: ✭ 112 (+239.39%)
Mutual labels:  quantum
mddatasetbuilder
A script to build reference datasets for training neural network potentials from given LAMMPS trajectories.
Stars: ✭ 23 (-30.3%)
Mutual labels:  molecular-dynamics
CourseDownloader
GUI app for downloading whole online courses with folder structure from one url
Stars: ✭ 20 (-39.39%)
Mutual labels:  object-oriented

Libra

Build Status

This is the main page of the computational chemistry methodology discovery library, Libra The program website is here

Info

More:

Due to the increased volume of technical questions about installing and using the Libra, Libra-X, Pyxaid and Pyxaid2 codes, I have decided to create a convenient public forum for all users with the intent:

  • to share my replies with not only a single user that have a trouble, but also other potential users who may found that information useful;

  • so that the users/developers who have had some experience with the code would be able to share their knowledge and skills with others;

Installation Videotutorials (as of 5/16/2022)

Installation (as of after 5/14/2021)

1. Install miniconda (for Python 3.8) and activate Conda

mkdir Conda
cd Conda/
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh . 
sh ./Miniconda3-latest-Linux-x86_64.sh -b -u -p <install_dir>

Here,

  • the -b option will accept the license agreement and will skip all the prompts
  • the -u option will tell the installer to do all the needed updates
  • the -p option followed by the installation directory path (will be created), tells the installed where to install the package.

To activate the installed base environment of Conda do:

eval "$(<path to bin/conda> shell.bash hook)"

For instance,

eval "$(/projects/academic/cyberwksp21/Software/Conda/Miniconda3/bin/conda shell.bash hook)"

You will need to run this script every time you want to use a particular Conda and the corresponding environments, unless you include this command in your .bashrc or .bash_profile

Test it is working by doing:

which conda

2. Download Libra

mkdir libra
cd libra
git clone https://github.com/Quantum-Dynamics-Hub/libra-code.git .

and switch to the correct branch or tag - usually, it would be devel branch

git checkout devel

3. Create the environment equipped with all Libra needs

3.1. Simple way:

Just execute the following script located in the root of Libra distribution:

sh ./libra_env_build.sh

This script will create the environment called libra and will install all the needed stuff in it. You just need to activate it:

conda activate libra

3.2. Detailed instructions on what the script about does:

It first creates and activates the libra environment:

conda create -n libra

Update conda install if needed (e.g. if the output suggests it)

conda activate libra

Thne, it installs all the dependencies and tools.

Do this one by one, and in this order (should not matter too much, but who knows it)

> To automate the below procedures, you can use `-y` option to accept prompts (sometimes this will override)
> previous packages/conflicts, so be careful
> 
> You can also use `-q` to get rid of all the messages to the output, although i'd keep it to keep track of what's going on

Basic stuff

conda install conda-build
conda install gcc_linux-64
conda install gxx_linux-64
conda install make
conda install boost
conda install cmake
conda install git
conda install -c anaconda h5py
conda install -c conda-forge/label/gcc7 eigen 
conda install -c psi4/label/dev libint2 
conda install -c anaconda gmp
conda install -c conda-forge/label/gcc7 mpfr 

More, but still needed because some Python modules require those. We need to downgrade Python version here to 3.6 to enable Psi4 installation

conda install python=3.6
conda install -c psi4 psi4
conda install -c conda-forge matplotlib
conda install -c rmg py3dmol
conda install -c anaconda numpy
conda install -c anaconda scipy
conda install -c conda-forge llvm-openmp

You can install Jupyter notebook using the following command. This will be useful and you can set up and access the Jupyter notebook remotely from a cluster and load the tutorials

conda install -c anaconda jupyter

Used in some of the tutorials

conda install -c conda-forge/label/gcc7 imageio

4. Adapt the CMakeLists.txt file according to your system

Because we had to downgrade Python to 3.6, we need to edit the CMakeLists.txt such that cmake is looking for the correct Python version

FIND_PACKAGE(PythonLibs 3.6 REQUIRED)

and also reflect it in the component of the Boost.Python to be found:

FIND_PACKAGE(Boost COMPONENTS python36 regex)

Same for Boost (see the error messages for what version of Boost the cmake can find). In my current case, it suggest the version 1.73.0, so be it:

FIND_PACKAGE(Boost 1.73.0 REQUIRED)

5. Create the build directory and make the Makefiles

Then in the libra directory, create the build directory:

cd libra
mkdir _build
cd _build
cmake ../

6. Compile the package

make -j4

7. Setup environmental variables

Add the following exports to your .bash_profile file

export PYTHONPATH=<path to the ppackage>/libra/_build/src:$PYTHONPATH
export LD_LIBRARY_PATH=<path to the ppackage>/libra/_build/src:$LD_LIBRARY_PATH

8. Restart the terminal or source the bash profile and activate libra conda environment

source .bash_profile 
conda activate libra

And you should be ready to use Libra.

Developers and Contributors

  • Dr. Alexey Akimov (University at Buffalo, link )
    The main developer and maintainer of the code

  • Mr. Brendan Smith (University at Buffalo) Entangled trajectories Hamiltonian, NA-MD with spin-orbit coupling, NBRA workflows, BL-LZ NA-MD tutorials and examples, Libra/DFTB+, Libra/QE, Libra/ErgoSCF, Libra/CP2K, and Libra/Gaussian interfaces

  • Mr. Mohammad Shakiba (Shahid Bahonar University of Kerman, Iran) Cube file processing scripts, Libra/CP2K and Libra/Gaussian, Libra/Libint2 interfaces

  • Mrs. Story Temen (University at Buffalo) Implementation and testing of the HEOM codes

  • Dr. Wei Li (Hunan Agricultural University) NA-MD with spin-orbit coupling

  • Dr. Kosuke Sato (Toyota Research Lab) State reordering scripts, Libra/GAMESS interface (Libra-X)

  • Dr. Ekadashi Pradhan (York University) Libra/QE interface, delta-SCF NA-M (Libra-X)

  • Dr. Amber Jain (Indian Institute of Technology Bombay, India) Implementation and testing of the HEOM codes

  • Dr. Xiang Sun (NYU Shanghai, China) Implementation and testing of the FGR codes

References

This code is provided in the hope it will be useful.

If you use the code in your research, please cite the following paper(s):

Papers that describe Libra or its features

You may find the following papers useful examples

Parers that utilize Libra

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].