Molecular Simulation EXploration
Feel free to star and fork!
Any comments, suggestions, and questions? Open an issue or submit PRs!
- Start date: 2021/11/24
- Maintainers:
- Dr. Yawei Liu ([email protected])
This project is aiming to integrate tools/scripts used in our molecular simulations of matters. The corresponding tutorials and examples will also be given here.
Mac OS, Ubuntu Os and other Linux type OS are recommended. In Windows OS, you can install wsl Ubuntu, and then use the WSL Ubuntu as a subsystem in Windows OS.
-
see use_wsl_ubuntu.md for a simple tutorial on how to instal WSL Ubuntu in Windows OS and to launch WSL Ubuntu in vsode (see below figure)
-
more details can be found here for how to install WSL Ubuntu and here for how to use WSL Ubuntu invscode (see below figure)
-
before installation
-
most software/pakcages are installed via
code command
in Terminal -
bash profile
- a bash profile is a file used to store environment settings for your terminal, and it is
- for
bash shell
~/.bash_profile
in Mac and~/.bashrc
in Ubuntu (~
represents the user’s home directory)
- for
zsh shell
(oh-my-zsh forzsh
is highly recommanded)~/.zshrc
in both Mac and Ubuntu
- for
- for the changes in the profile file to be applied, run the source command with the file as an argument
source ~/.bash_profile
orsource ~/.bashrc
orsource ~/.zshrc
- a bash profile is a file used to store environment settings for your terminal, and it is
-
-
install compiler
- gcc/g++
brew install gcc
# for Macsudo apt install build-essential
# for Ubuntu- test
gcc --version
- make
brew install make
# for Macsudo apt install make
# for Ununtu- test
make --version
- cmake
brew install cmake
# for Macsudo apt install cmake
# for Ununtu- test
make --version
- gcc/g++
-
- install git, see here for details
brew install git
# for macsudo apt-get install git
# for Ubuntu
- see use_git.md for basic usage of git
- see here for more details of git
- install git, see here for details
-
- obtain MolSimulX
cd some_folder
git clone https://gitee.com/yliu3803/MolSimulX.git
- update MolSimulX
cd MolSimulX
git pull
- obtain MolSimulX
-
python and python packages
-
install miniconda (recommended for limited storage space) or anaconda (most python packages are already included)
-
install pyhton packages including via
conda
conda install numpy pandas scipy matplotlib
conda install nodejs
conda install -c conda-forge MDanalysis MDAnalysisTests nglview
conda install -c conda-forge freud fresnel
pip install plato-draw
pip install wulffpack
pip install ase
Tip:Packages can be install via
pip
orconda
, see details in corresponding official documents.
-
-
-
also can be found in ilmdtoolkit/preprocess folder
-
add fftool to the PATH environment variable
- in bash profile, add
export PATH=path_to_fftool:$PATH
- in bash profile, add
-
see use_fftool.md for basic usage of fftool
-
-
-
also can be found in ilmdtoolkit/preprocess folder
-
expand the files and compile the package
tar zxvf packmol.tar.gz
cd packmol
make
-
add packmol to the PATH environment variable
- in bash profile, add
export PATH=path_to_packmol:$PATH
- in bash profile, add
-
-
- see use_lammps.md for how to compile your own lammps
Jupyterlab is a web-based interactive development environment for notebooks, code, and data. Its flexible interface allows users to configure and arrange workflows in data science, scientific computing, computational journalism, and machine learning.
-
install jupyterlab
conda install jupyterlab
-
see use_jupyerlab.ipynb for basic usage of python and packages in jupyterlab
preprocess # 预处理
This folder contains some tools and files used to set up a simulation system.
-
folder clandp contains topology and force field files for ILs, provided by Padua Group.
-
folder molecules contains topology and force field files for some small molecules.
-
ions contains topology and force field files for some ions.
-
folder fftool contains source codes of fftool, which, combined with packmol, can be used to build initial configrautions and data files for MD simulations carried out in, such as LAMMPS.
-
packmol.tar.gz contains the source code of packmol.
This folder contains some tools/srcipts combined with other simulation tools to perform special simulations (e.g. rare event techniques).
postprocess # 后处理
This folder contains some python scripts to analyse/visulise the simulation data (depends on numpy
, pandas
, scipy
, etc. python packages) and to generate the final report (depends on markdown
, latex
).
Basics usage for some tools and packages.
-
use_git.md # basic usage of git.
-
use_jupyerlab.ipynb # basic usage of python and packages in jupyterlab.
-
use_fftool.md # basic usage of fftool.
-
use_lammps.md # how to compile your own Lammps.
-
use_wsl_ubuntu.md # install WSL Ubuntu and use it with vscode
Some simple examples.
-
example_co2_eos: MD simulaitons to calculate the equation of state of CO$_2$, see details in co2_eos.ipynb
python
jupyterlab
fftool
packmol
lammps
mdanalysis
nglview
-
example_BmimPF6_ACN_CG Coarse-grained MD simulations of BmimPF6-ACN mixtures,see details in BmimPF6_ACN_mixture.ipynb
python
jupyterlab
fftool
packmol
lammps
mdanalysis
nglview
-
example_Wulff_Ru_cluster build Wulff cluster of Ru hcp crystal,see details in wulff_Ru.ipynb
python
jupyterlab
ase
wulffpack
nglview
-
example_water_between_two_walls build a configuration with water molecules between two different substrates, and create
lammps
input files,see details in water_between_two_walls.ipynbpython
jupyterlab
ase
fftool
packmol
nglview
-
example_il_com_orientation compute the center-of-mass and orientation vector of cations in a ionic liquidsee details in il_com_orientation.ipynb
python
jupyterlab
pandas
mdanalysis
nglview
-
project_
These folders contains all codes and details of our published papers.
- Charged Nanochannels in Covalent Organic Framework Membranes Enabling Efficient Ion Exclusion. ACS Nano 2022, 16 (8), 11781.
- A General Method for Direct Assembly of Single Nanocrystals. Adv. Opt. Mater. 2022, 10 (14), 2200179.
- Confined Assembly of Colloidal Nanorod Superstructures by Locally Controlling Free‐Volume Entropy in Nonequilibrium Fluids. Adv. Mater. 2022, 34 (28), 2202119.
- Ultrafast Seawater Desalination with Covalent Organic Framework Membranes. Nat. Sustain. 2022, 5 (6), 518. [Cover Artical]
- Nanoscale Faceting and Ligand Shell Structure Dominate the Self‐Assembly of Nonpolar Nanoparticles into Superlattices. Adv. Mater. 2022, 34 (20), 2109093. [picked up by chemeurope.com, etc.]
- Charged Nanochannels Endow COF Membrane with Weakly Concentration-Dependent Methanol Permeability. J. Memb. Sci. 2022, 645, 120186.
- A Dissipative Particle Dynamics Model for Studying Dynamic Phenomena in Colloidal Rod Suspensions. J. Chem. Phys. 2021, 154 (10), 104120. [Editor's Pick]
- Direct Assembly of Vertically Oriented, Gold Nanorod Arrays. Adv. Funct. Mater. 2021, 31 (6), 2006753. [picked up by eurekalert, phys.org, etc.]
- Hamiltonian Transformation to Compute Thermo-Osmotic Forces. Phys. Rev. Lett. 2018, 121 (6), 068002.
- Molecular Simulation of Thermo-Osmotic Slip. Phys. Rev. Lett. 2017, 119 (3), 038002.
- Microscopic Marangoni Flows Cannot Be Predicted on the Basis of Pressure Gradients. Phys. Rev. Lett. 2017, 119 (22), 224502.
- A Unified Mechanism for the Stability of Surface Nanobubbles: Contact Line Pinning and Supersaturation. J. Chem. Phys. 2014, 141 (13), 134702.
- Nanobubble Stability Induced by Contact Line Pinning. J. Chem. Phys. 2013, 138 (1), 014706.
- How Nanoscale Seed Particles Affect Vapor-Liquid Nucleation. J. Chem. Phys. 2011, 135 (18), 184701.