For information about the features in the latest version (v0.12.0), please see here.
Table of Contents
First of all
pfcc-extras is a library package with a collection of useful tools for modeling, analysis and visualization of results.
* Please note that this is provided as an experimental library package, so compatibility with new features is not guaranteed and may be changed or removed in the future without notice.
The functions described in this article and the locations of the respective example files are as follows.
| Features | File path* |
| visualization/visualization.ipynb | |
| visualization/visualization.ipynb | |
| povray_to_gjf/povray_animation.ipynb | |
| isosurface/isosurface.ipynb | |
| make_mol_surface/make_mol_surface.ipynb | |
| solid_solid_interface/make_solid_solid_interface.ipynb | |
| wrap_molecule/wrap_molecule.ipynb | |
|
adsorption_structure_serch/
|
|
|
* All paths after "/pfcc-extras-vx.x.x/examples/"./pfcc-extras-v5.0.0/examples/ 以降のパス
How to install pfcc-extras
- Open Package Launcher and find the latest version of pfcc-extras at the bottom of the page.
- Save the file in zip format.
- Right-click on the saved zip file and expand it with "Extract Archive".
- Open the file "/pfcc-extras-v0.x.0/examples/install.ipynb" and execute the following cells
!pip install ..
- The installation is completed up to 4. If the Python kernel was running before the installation was executed, a kernel restart is required.
As confirmation that the installation is complete, try running the following to see if it returns the version you installed. (This cell is included in install.ipynb)
- How to Restart the Kernel
- Kernel menu > Restart Kernel...
- Click on the "Restart the kernel" icon from the bar at the top of the main screen.
- Kernel menu > Restart Kernel...
- v0.6.0 の場合
import pfcc_extras
pfcc_extras version: 0.6.0
print("pfcc_extras version: ", pfcc_extras.__version__)
- How to Restart the Kernel
Introduction of key features
In the following sections, we will introduce the main features included in pfcc-extras.
view_ngl
view_ngl is a light-weight visualization tool, quickly allows you to inspect your structure.
Some useful features:
- Change color scheme and ball size
- Save images
- Display force and charge*
- View trajectory file
* Displaying force and charge requires setting calculator.
SurfaceEditor
SurfaceEditor is a versatile editor/visualization tool. (Setting calculator is required)
Some useful features:
- Change color scheme and ball size
- Change view direction
- Select atom to apply changes
- Delete and replace
- Move and rotate
- Check energy and max force
- Perform a quick optimization
- Save images
- Display forces and xyz axes
- Displays atom ID and coordinates (w/Hovering mouse cursor over an atom)
povray_animation
Generate gif/apng animation from traj using povray.
- .gif
- .png
isosurface
Create a Gaussian cube file to visualize the diffusion pathways of specific elements from the Trajectory data. cube files can be read by OVITO, VESTA, NGLViewer, etc
Procedure:
- Prepare Trajectory file (hereafter called trj)
- Run the following
iso = IsosurfaceCalculator(trj, grid_size = 0.5) )
iso.calculate(symbol = ‘Li’) x
iso.export(‘./output.cube’)
make_mol_surface
Make surfaces which composed of organic molecules and other materials.
Procedure:
- Prepare bulk structure
- Define components.
- Run "make_mol_surface"
- make surface structure
- finding the components
- Remove items that do not match the components.
(a) anthracene, (b) graphene, (c) SiO2, (d) CH3, NH3, Pbl3
solid_solid_interface
Make a solid-solid interface model.
* requires "pymatgen"
Procedure:
- Prepare two different bulk structures
- Each cut into rectangular ("make_rectangular_slab")
- Calculate multiplier that minimizes cell size gap when stacked. ("make_similar_lattice_const_slabs")
- The two are stacked to create an interface structure. ("surface_stack")
- Extract unit cell. ("make_primitive")
- Save
wrap_molecule
- wrap_molecule() … wrap a molecule that crosses a periodic boundary without splitting it.
- get_mol_index() … Index numbering and labeling for each molecule
- get_mol_list() … Split the Atoms object into separate molecules.
eg.: wrap_molecule()
adsorption_strucuture_search
Find the adsorption structure using OptunaTM , an open-source automatic hyperparameter optimization framework. the following four examples are available.
| File name | Adsorbent | Adsorbate |
| adsorption_structure_search_for_slab | Ru(111) slab | acrolein () |
| adsorption_structure_search_for_porous | SiO2 zeolite | H2O |
| adsorption_structure_search_for_cluster | AuCu cluster | 2-Propen-1-thiol |
| cluster_on_slab | CeO2 slab | Co half cluster |
- Adsorption of acrolein on Ru(111) surface model (slab)
- Adsorption of water molecule on SiO2 porous crystal
- Adsorption of 2-propene-1-thiol on AuCu cluster
- Adsorption of Co half cluster on CeO2 surface model(slab)
monte_carlo
GCMC
Simulations can be run using the Groud canonical Monte Carlo (GCMC) method.多孔質材料である This case study of CO2 molecular adsorption on metal-organic-frameworks (MOFs) introduces the steps from input files and parameter settings to execution and analysis of results.
Lattice MC
The Lattice Monte Carlo (LMC) method is used to simulate the structural exploration of a metal slab. In this example, we use the slab structure of Pt3Au.