quantum-espresso/upftools
giannozz d1057f2a67 Fixed a minor bug in fhi2upf.f90 and a very serious bug in PW91
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@8650 c92efa57-630b-4861-b058-cf58834340f0
2012-02-15 09:03:10 +00:00
..
Makefile Added utility (?) to convert from upf v.1 to upf v.2; converters from 2011-05-27 19:37:47 +00:00
README Bugfix casino2upf.x. FOr somereason the combination of Portland Group compiliers and iotk didn't like writing UPF files to stdout. Behaviour of casino2upf modified so that now the output is written to a filename specified in the input. If no filename is specified this defaults to out.UPF. 2011-08-08 12:45:46 +00:00
any2upf.f90 Source "normalization" using Norbert's script dev-tools/src-normal. 2010-06-11 09:00:04 +00:00
casino2upf.f90 CASINO/UPF converter bug. Missing nullify_* calls causing problems with gfortran compilers. 2011-11-13 15:23:54 +00:00
casino_pp.f90 Removed some non-standard Fortran that was causing upf2casino.x to choke at runtime, when using gfortran. 2011-07-25 11:53:08 +00:00
cpmd2upf.f90 Conversion from HGH PPs seems to be working now; misc. tweakings 2011-07-22 13:09:07 +00:00
fhi2upf.f90 Fixed a minor bug in fhi2upf.f90 and a very serious bug in PW91 2012-02-15 09:03:10 +00:00
fpmd2upf.f90 Removed unused routine 2011-07-04 17:14:13 +00:00
interpolate.f90 program interpolate.x reads a pseudopotential in the UPF format and 2010-11-13 23:36:46 +00:00
make.depend EPW trunk set as svn:external 2011-12-14 11:32:03 +00:00
ncpp2upf.f90 Backward-compatibility with old PP format solved hopefully for good. 2011-06-25 14:55:05 +00:00
oldcp2upf.f90 Source "normalization" using Norbert's script dev-tools/src-normal. 2010-06-11 09:00:04 +00:00
read_upf.f90 Source "normalization" using Norbert's script dev-tools/src-normal. 2010-06-11 09:00:04 +00:00
read_upf_tofile.f90 Source "normalization" using Norbert's script dev-tools/src-normal. 2010-06-11 09:00:04 +00:00
rrkj2upf.f90 More problems with linkers unable to resolve cross references between flib 2011-06-13 21:15:24 +00:00
upf2casino.f90 CASINO/UPF converter bug. Missing nullify_* calls causing problems with gfortran compilers. 2011-11-13 15:23:54 +00:00
upf2upf2.f90 Added utility (?) to convert from upf v.1 to upf v.2; converters from 2011-05-27 19:37:47 +00:00
uspp2upf.f90 More problems with linkers unable to resolve cross references between flib 2011-06-13 21:15:24 +00:00
vanderbilt.f90 Source "normalization" using Norbert's script dev-tools/src-normal. 2010-06-11 09:00:04 +00:00
vdb2upf.f90 More problems with linkers unable to resolve cross references between flib 2011-06-13 21:15:24 +00:00
virtual.f90 Documentation (sort of) on what the virtual.x does or is supposed to do 2012-01-10 17:33:25 +00:00
write_upf.f90 the order in which the suggested ecutwfc and ecutrho were written was wrong. 2010-11-13 19:36:44 +00:00

README

Unified Pseudopotential File (UPF) Specifications - see:
http://www.quantum-espresso.org/wiki/index.php/Unified_pseudopotential_format

Available converters to UPF from:
  CASINO tabulated format (see below)
  CPMD (TYPE=NUMERIC, LOGARITHMIC, CAR, GOEDECKER)
  Fritz-Haber numerical format, either ".cpi" (fhi88pp) or ".fhi" (abinit)
  David Vanderbilt's code format (formatted or binary)
  Old Norm-Conserving PWSCF format (deprecated)
  Old "RRKJ3" PWSCF format (deprecated)
  Old Norm-Conserving CP90  format (deprecated)

Pseudopotentials in PWSCF and CASINO
====================================

Two utilities are provided with the Quantum Espresso distribution to 
enable the PWscf code to be used in conjunction with the CASINO quantum 
Monte Carlo code.

Of course all pseudopotentials generated via these automatic tools should 
be tested before being used for production runs.

It should be noted that ultrasoft and PAW pseudopotentials cannot be used
with the CASINO code. Currently only UPF files containing norm-conserving 
pseudopotentials can be converted using these utilities.

============
casino2upf.x
============

The first of these is casino2upf.x . This utility takes a given CASINO 
tabulated pseudopotential file and one or more awfn.data files specifying 
the pseudoatomic wavefunctions to be used in creating the 
Kleinman-Bylander projectors. A UPF file containing the projectors and the 
local potential is then written to the file name specified in inputpp. Any
errors are communicated to the user via stderr.

Usage:
	./casino2upf.x < inputpp 

A sample inputpp file for converting a Trail and Needs pseudopotential 
would be:

inputpp:
	&inputpp
		pp_data='pp.data'
		upf_file='my_pseudo_potential.UPF'
	/
	3
	awfn.data_s1_2S
	awfn.data_p1_2P
	awfn.data_d1_2D

Here pp_data specifies the name and location of the file containing the 
CASINO pseudopotential. The utility then expects an input card after 
&inputpp consisting of the number of awfn.data files supplied (in this 
case 3) and then their names. The files are searched sequentially so the 
first s wavefunction found will be used for the s projector, first p for 
the p projector and so on.


A note on the radial grid
-------------------------
The utility currently performs no interpolation and attempts to use the 
same radial grid as the original pseudopotential. It therefore assumes 
that the grid will be of the standard form used by Trail and Needs.

If this is not the case the flag tn_grid=.false. can be set in the input 
file. The standard logarithmic form, r(i)=exp(xmin + i*dx) / Z is then 
assumed. Values for xmin and dx can also be specified in the input file in 
the usual way.

If interpolation from a different non-standard grid is required then the 
current recommended route is to use the casino2gon utility supplied with 
the CASINO distribution. This produces the older GON format that is 
(currently) still read by PWscf.


Ghost states
------------

The Kleinman-Bylander form can unfortunately introduce ghost states into 
some calculations. If this does occur we recommend that the 
pseudopotential is re-converted using a different local channel. The local 
channel can be specified in the original CASINO pp.data file and is read 
in automatically by casino2upf.x .

===========
up2casino.x
===========

This utility takes a standard UPF pseudopotential from standard input and 
writes a CASINO tabulated pseudopotential file to standard output. Any 
errors are communicated via stderr.

Usage:
	
	./up2casino.x < pseudo.UPF > pp.data

Care must be taken that the resulting pseudopotential file spec fies the 
required local channel. Also this utility should only be used with 
norm-conserving pseudopotentials.