G(P,T): A Gibbs Free Energy Package

Lizhi Ouyang (c)

Spring, 2005

CONTENT

  1. Introduction

  2. Package Overview

  3. Program Details

  4. Examples

  5. Future plan

  6. Bibliography

1. Introduction

2. Package Overview

2.1 Installation

  1. Obtains the package. Please email lizhi for detail.

  2. At your home directory, type
    [prompt]> gzip -dc gpt.tar.gz | tar xf -

  3. cd ~/gpt

  4. Run
    ./install

  5. Installation complete.

2.2 Directory structure

    Home/
        |---------------bin  (executable directory)
        |---------------gpt
                                 |--------examples (examples included in the package)
                                 |--------kp (special k-point sets of all 14 lattices for dispersion or band plot)

2.3 File lists

3. Program Details

    [brief introduction]

    3.1 Job directory structure

Because of the enormous number of intermediate files generated during the Gibbs Free energy calculation, GPT package maintains a tree-like structure under each job. The following diagram illustrates the tree structure;

<Job name, for example MgO>
            |--------Input   ( Input files for the GPT package )
            |
            |--------<a serial of directories: for example, 0.97/, 0.98/, ..., 1.03/>
            |                         |---------Input  (Input files for calPHONON, etc.)
            |                         |---------geom  (fix volume relaxation)
            |                         |---------phonon (phonon calculation, for calPHONON)
            |                         |                 |---------<a serial of directories with name [id of atom]#[id of direction]>
            |                         |---------optics (optical dielectric tensor calculation, for calOPTICS)
            |                         |---------BP (Born effective charge calculation, for calBP)
            |
            |--------etensor (Directory for calELASTIC)
   

    3.2 Input files

The bold letter indicate the file name used in the calculation. The extension name indicates the purpose of the job. For example, INCAR.opt is a INCAR file for VASP calculation, the purpose of the job is to optimize the geometry of the structure described in POSCAR. The reason to have a different input file for each type of calculation is that different type of calculation may require different accuracy setting and k-point sampling. For example, for optical dielectric tensor calculation, a much large set of k-points may be required to obtain sufficient accuracy. On the other hand, for Berry phase calculation, a medium fine k-point mesh and accuracy would be sufficient. The main problem with this approach is that there are a large set of input file needs to be prepared and maintaining the consistency among the input files is not straightforward. Script makeGPTinput to generate input file sets from GULP input file and a few compound accuracy control words such as "ACCURACY=PRODUCTION, MEDIUM, TEST" is currently under development.

    3.3 Output file

4. Examples

    MgO: MgO is an ionic crystal with a simple crystal structure. [See ~/gpt/examples/MgO/ for details]

5. Future plan

GPT is a very computation intense package. Parallelization at batch job level is a very important direction for improving its performance. In fact, many tasks, here a task referring a first principles calculation, are easy-parallelizable tasks that require virtually no-inter communications among individual tasks. For example, force calculations after small perturbations from the equilibrium position. Each force calculation is complete independence task and there is no inter-dependence between each force calculations. I am currently evaluating the two solutions: a parallel job queuing system;

6. Bibliography

  1. VASP: http://cms.mpi.univie.ac.at/vasp/

  2. PHON: http://chianti.geol.ucl.ac.uk/~dario/guide/

  3. Lizhi Ouyang, W.Y. Ching, Phys. Stat. Sol. (b) 242, R66, 2005 (Rap. Res. Lett.)