Warning: This page uses Cascading Style Sheets. We recommend you upgrade to a current version of your favourite browser.

Sod-Orgcposs logo
Project background DMACRYS licencing Publications Computational notes

Orgdisord

CCP-NC have developed the SOD-ORG methodology into a newer code, which is available on their GITHUB repository. It has not been used in the cposs group yet, and no instructions are available here.

Using SOD-ORG

The paper describing this programme and how it works is found at http://pubs.rsc.org/en/Content/ArticleLanding/2011/CP/C1CP20249A

SOD-ORG is a programme for setting up input files for NEIGHCRYS of supercells of varying compositions. It is useful for investigating the profile of a disordered system.

In a crystal structure, if some of the molecules are replaced with a different molecule, or a different conformation of the same molecule, but not in an ordered fashion, then calculating the energy of this system is difficult. To do this, one can calculate the energy of every possible configuration of a supercell of the system, and work out an overall energy for the system from this. In crystals, it is possible to take advantage of the symmetry in order to reduce the magnitude of the problem, for example, in a Z'=1 system, if any single molecule is replaced with an alternative, all the resulting crystals are identical. The energy only needs to be calculated for one of these.

SOD-ORG works only for systems with 2 components of disorder. It only works for static disorder.

SOD-ORG takes NEIGHCRYS input files for each of the two components, and generates supercells in the form of .res files, along with the associated .mols and .dma files.

In May 2022, Jonas Nyman tried using the version of SOD-ORG provided by Louise. He encountered a lot of problems, but with examples provided by Louise and the notes below, he managed to get it working (eventually...). He wrote a summary of the problems encountered, and helpfully gave it back to us.

To run SOD-ORG

For each of the components, you need the following files, all with the same stem to the name:

  • a .res file (with the molecules in the same position in both components, using optimalpaste if necessary) e.g. maj.res
  • an .axis file (this is the old name for dmacrys.mols) e.g. maj.axis
  • a punch file for each molecule of the system (this is the old name for gdma.dma) e.g. maj1.dma. For a Z'=2 system where only 1 molecule of the system is disordered, you would have maj1.dma, maj2.dma, min1.dma and min2.dma, but maj1.dma would be the same as min1.dma.

Once you have all your starting files together, run sodorg. An example question/answer dialogue is shown below, with annotation in italics (output that requires no reponse is in normal text)

First system name?
maj
Second system name?
min
What supercell?
1 1 1 this is the number of times the entire unit cell will be multiplied along the a, b and c axes respectively
Williams, FIT, custom without foreshortening or custom with foreshortening? [w/f/c/d]
f
FORTRAN STOP
FORTRAN STOP
producing .axis file...
.axis file generated.
Will now run neighcrys for local coordinates.
FORTRAN STOP
neighcrys ran ok... extracting local coordinates...
Local coordinates extracted.
You have a center of inversion. Generating inverted multipoles files...
Generating full punch file using gdmaneighcrys...
FORTRAN STOP
Full punch file generated.
producing .axis file...
.axis file generated.
Will now run neighcrys for local coordinates.
FORTRAN STOP
neighcrys ran ok... extracting local coordinates...
Local coordinates extracted.
You have a center of inversion. Generating inverted multipoles files...
Generating full punch file using gdmaneighcrys...
FORTRAN STOP
Full punch file generated.
Give lower and upper bounds for number of changes,
1 3 this is the number of molecules that will be substituted. You need to enter two numbers, so if you only wanted 1 molecule substituted you would need to enter "1 1"
5 this is the number of unique crystals that will be set up
FORTRAN STOP
FORTRAN STOP
Finished configuration 1
FORTRAN STOP
FORTRAN STOP
Finished configuration 2
FORTRAN STOP
FORTRAN STOP
Finished configuration 3
FORTRAN STOP
FORTRAN STOP
Finished configuration 4
FORTRAN STOP
FORTRAN STOP
Finished configuration 5

The files that will come out of this are as follows:

  • maj1.invdma the inverted .dma file
  • maj_ns.res the .res file with all the other molecules generated from the symmetry elements
  • maj_nosymm.res the file above but with the molecules moved so that they are mostly within the unit cell - this should give an equivalent result to checking the Packing box in Mercury
  • maj_sup.res, maj_sup.axis, maj_sup.punch the files for the whole supercell of the maj component
  • equivalent files to the above for the minor component
  • degeneracy
  • seqlist
  • a number of directories called merge_?? these contain the input files required by NEIGHCRYS

When the supercell is generated, it is important to know the order in which the additional molecules are added. Firstly you have the molecule(s) that appears in the .res file, then those generated by the SYMM lines in turn (hence a different order of the SYMM lines would lead to a different order of the molecules!), then those generated by an inversion centre acting on each of the preceding molecules in turn, then those generated by centring acting on each of the preceding molecules in turn, then those generated by translation along a (if you have more than 1 multiple of the unit cell) acting on each of the preceding molecule in turn, then those generated by translation along b acting on each of the preceding molecule in turn, and finally those generated by translation along c acting on each of the preceding molecule in turn.

Reading the seqlist file gives the definitions of each of the supercells generated. Each line will have a number for each molecule, with 2 denoting that the molecule is of the minor component type and 1 denoting it is of the major component type. The degeneracy file shows how many states of each type are present, and the entropy. The merge_?? directory corresponds to the lines in the seqlist and degeneracy files.

You can now write a script to run NEIGHCRYS and DMACRYS in each merge_?? directory. There is a script to do this called running in the SOD-ORG directory. It does submit all the DMACRYS jobs for you, which may be a lot of jobs that take a long time, so be aware of this and check that it will be okay with everyone else before you run it.

To analyze the output

You need to write out the energies from the fort.12 files into a file called results. The easiest way is to type

grep 'Final Lattice Energy' merge_*/fort.12 > results

Then run biprep, which gives you a new file called binp. You will need to edit this file and add three lines - one for a ratio of the components and the next two for lower and upper boundary guesses for the fuagcity. When the ratio is near zero, this will be between 0 and 1, while when it gets to near 1, it will tend to infinity. Once you have edited this file, run bisolv to generate a new file called fug (the output of this is also printed to the screen). As long as it has found the value of fugacity (and not output a lot of stars), run ratprops. This gives you 5 numbers

  • the proportion of the second phase
  • the average lattice energy
  • the free energy (including configurational entropy but no other entropy)
  • 1
  • the configurational entropy (multiplied by T, which is 298)

You can append the output of ratprops to a new file called results2, and repeat runs of bisolv and ratprops for a number of different ratios (0.05-0.95 in 0.05 steps is suggested). Then you can import this file into Excel and plot the numbers against the ratio.

If you have a system where the two extrmes have the same energy, as in the case of Eniluracil in the paper, you're fine. However, if you have a combination of two different crystal structures, as in the case of the solid solution of chloro- and bromobenzene in the paper, you will need to add mixing terms. Work out what the average lattice enthalpy would be for the crystal structure of the proportions of each line, and subtract this from the actual lattice enthalpy to give the mixing lattice enthalpy. Add the configurational entropy term, TS, to give the mixing free energy. The lowest point in the free energy (or mixing free energy) is the most stable proportion.

Limitations

This cannot be run on systems where the bonds to hydrogen have been standardized in NEIGHCRYS for the charge density calculation. It is hardwired into the NEIGHCRYS run to not standardize bonds to hydrogen, and this results in the dma files having slightly different atomic positions.

© UCL Chemistry Department 2022. This page was last updated on 17 August, 2022. If you have any problems with this page please email the WebMaster