13 votes
Accepted

pyscf: Why should the choice of pseudopotential determine the total energy, and not the physics?

The energy of a system, be it a molecule or a material, is dependent on the energy reference (or energy zero point) you choose. Common energy references are: The state where all electrons (except for ...
wzkchem5's user avatar
  • 9,621
8 votes
Accepted

Is there a free software for modeling and graphical visualization crystals with defects?

For point defects like a Schottky pair, you can get the defect formation energies from DFT calculations at 0 K or from AIMD calculations at finite temperatures. For these, you can use codes like VASP ...
Mohamed's user avatar
  • 695
8 votes

What are the freely available crystal-structure visualization softwares?

nglview and nvc Recently I found it hard to make the pymatgen structure_vtk visualization method to work. I believe it might be deprecated in favour of ...
Maurits Houck's user avatar
8 votes
Accepted

Clustering Algorithms with Periodic Boundary Conditions

First, there is a recent paper in which they proposed a k-means clustering algorithm adapted for periodic boundary conditions. Their Python implementation is available here. However, the clustering ...
Shaun Han's user avatar
  • 1,845
8 votes
Accepted

Better SIESTA workflows system?

This answer is based on the current state of things (and will likely change rather quickly). In the following I differentiate between a workflow and post-processing. workflow: A workflow is, IMHO, ...
nickpapior's user avatar
  • 3,286
7 votes

Copper FCC structure using ASE (Atomic Simulation Environment) library in python

First, I want to show a general way of checking the minimum bond length of a structure in ASE. Using your structure as an example, you can get the distance matrix in ASE by ...
Shaun Han's user avatar
  • 1,845
7 votes
Accepted

Atomic Simulation Environment (ASE) Modelling. Adding additional layer

To build a 5 layer TiO2 surface slab, you need to first build a 2x2x3 supercell and then remove the top layer. To do this, you need to first identify the atom indices in layer 0, 1, 2, 3, 4, 5 (...
Shaun Han's user avatar
  • 1,845
6 votes
Accepted

How to build a unit cell in ASE?

In ASE, this can be done in a rather straightforward way. You just need to build an ase.Atoms object. For your structure, you can use the following code: ...
Shaun Han's user avatar
  • 1,845
6 votes

Tool to extract rings from zeolite structures

R.I.N.G.S. code The RINGS code can generate a number of ring statistics, including the number of rings (with many supported definitions). Among its multiple outputs are the list of atom indices of ...
Hebo's user avatar
  • 1,675
6 votes

Tool to extract rings from zeolite structures

While there might not be a dedicated tool that directly extracts rings of different sizes from zeolite structures, you can achieve this using graph theory and network analysis libraries that can be ...
Vandan Revanur's user avatar
6 votes
Accepted

How to convert MoO3 bulk structure to MoO3 (010) plane surface via VESTA software?

You can do that with VESTA for sure, but it is a tedious process and it is hard to explain it without adding so many figures for each step. I suggest you to use ASE and Python tools to do that. Here I ...
Jaafar Mehrez's user avatar
5 votes

Basic MD in ASE

Without further looking into the details, I can tell you straight-up why you cannot get any meaningful result. You are using the EMT calculator, which is a semi-empirical potential parameterized for ...
Shaun Han's user avatar
  • 1,845
5 votes
Accepted

Ionic relaxation with ASE (Atomic Simulation Environment)

When you use an ASE optimizer to relax your structure, it doesn't relax your unit cell by default. It is only necessary to use UnitCellFilter when you want to ...
Shaun Han's user avatar
  • 1,845
5 votes
Accepted

How to read a poscar file which is a surface and add adsorbates using ASE

I remember running into exactly the same issue like you when I just started my PhD. In ASE, there is this ase.build.add_adsorbate() function that allows placing a ...
Shaun Han's user avatar
  • 1,845
5 votes

How to put adsorbate on the surface by ASE

ASE doesn't support adding multiple adsorbates. If you use the ase.build.add_adsorbate function multiple times, it will unfortunately add adsorbates to the same pre-...
Shaun Han's user avatar
  • 1,845
5 votes
Accepted

ASE: Shape mismatch when using FrechetCellFilter filter

I think your NPT object expects a plain Atoms object, and not the Filter object that you get when doing ...
flokno's user avatar
  • 136
5 votes
Accepted

Random velocity generation

You can use ASE to generate the required random velocities, you may refer to this sample code to achieve this taks: ...
Jaafar Mehrez's user avatar
4 votes

Continuous Coordination Number Definition

Continuous coordination numbers are very commonly used in the enhanced sampling/free energy world, where they form the basis of different types of collective variables (e.g., coarse-grained reaction ...
Kristof Bal's user avatar
  • 1,331
4 votes

Continuous Coordination Number Definition

One can start with the definition of the usual, integer coordination number (which as the OP said is not a continuous function of the geometry), and smoothen its discontinuities. The (integer) ...
wzkchem5's user avatar
  • 9,621
4 votes
Accepted

How do you write an .xyz file with the information of cell as comment in the Atomic Simulation Environment?

You can do this by writing an ".extxyz" file but forcing the name to be ".xyz". In this way, the cell information is stored as comment. To remove the extra columns, you need to ...
Shaun Han's user avatar
  • 1,845
4 votes
Accepted

Saving forces from ASE Molecular Dynamics calculations

When a structure (i.e. an ase.Atoms object) is assigned with an ASE calculator, you can use the following to get the corresponding energy and forces: ...
Shaun Han's user avatar
  • 1,845
4 votes
Accepted

Run ASE MD in parallel

Usually MD routines is not the bottleneck of the calculation. Usually it is better to focus on parallelisation of the calculator. There is a communicator parameter ...
user36313's user avatar
  • 670
4 votes
Accepted

Fix layers of a slab

You can use ase.geometry.get_layers to get the bottom layer indices, and then use ase.constraints.FixAtoms to fix these atoms. ...
Shaun Han's user avatar
  • 1,845
4 votes
Accepted

How to read multiple Atoms objects from a single file using ASE

Simply add index=':': images = ase.io.read('data.txt', format = 'vasp', index=':')
Shaun Han's user avatar
  • 1,845
4 votes
Accepted

How to use ase gui to visualize the geometry optimization (through graphs and animation)?

The ase gui command is a shell command. So you should type it not to the Python prompt (usually looks like >>> ), but ...
user36313's user avatar
  • 670
4 votes
Accepted

Making Deuterium POTCAR file for optimization in VASP software

Hydrogen and deuterium are basically identical electronically (*) and you should use the same pseudopotential (POTCAR) for each. You should not see any difference between hydrogen and deuterium (or ...
Phil Hasnip's user avatar
  • 7,157
4 votes
Accepted

How can one create various arrangements of two or more types of atoms (like O, N etc.) with distinct coverages on a metal surface?

ACAT dev here. Yes you can add different adsorbates, each with distinct coverage. However, you will need to use a more general ...
Shaun Han's user avatar
  • 1,845
3 votes
Accepted

How to get displacements along VASP NEB trajectory?

This is easy. You can simply use ase.geometry.find_mic: ...
Shaun Han's user avatar
  • 1,845
3 votes
Accepted

How can I load the xyz file correctly by ase?

There are couple things I want to address. First, the coordinates are not lost. It just doesn't show up when you print the ase.Atoms object. To print out the ...
Shaun Han's user avatar
  • 1,845
3 votes

Basic MD in ASE

This was actually addressed on the ASE Element chat. The primary problem in this calculation is actually that packmol does not consider periodic boundary conditions. A simple solution involves ...

Only top scored, non community-wiki answers of a minimum length are eligible