potfit wiki

open source force-matching

User Tools

Site Tools


utilities

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
utilities [2013/02/28 13:31] – created danielutilities [2013/08/21 15:13] daniel
Line 1: Line 1:
-{{TOC_right}} +~~NOTOC~~ 
-The potfit/util directory contains a number of utility programs for the preparation of ''potfit'' input files and the postprocessing of ''potfit'' output files.+====== Utilities ====== 
 +---- 
 +The potfit/util directory contains a number of utility programs for the preparation of //potfit// input files and the postprocessing of //potfit// output files.
  
-;[[#force2poscar|force2poscar]] +[[#force2imd|force2imd]]\\ 
-:Converts force files (IMD output) to vasp POSCAR files. + Convert a potfit configuration into an IMD checkpoint file.
-;[[#vasp2force|vasp2force]] +
-:Converts vasp output (POSCAR, OUTCAR) to reference configuration data. +
-;[[#pottrans|pottrans]] +
-:Converts various IMD and ''potfit'' potential formats. +
-;[[#list_config|list_config]] +
-:List all configurations in a configuration file+
-;[[#potfit_setup|potfit_setup]] +
-:Creates a parameter file for ''potfit'' from scratch. +
-;[[Utilities/Awk_scripts|awk scripts]] +
-:A series of awk scripts to handle various tasks with potential files, like combining, appending, creating from analytical functions, generating from scratch, plotting,... +
-;[[#potscale|potscale]] +
-:Performs gauge transformations of ''potfit'' EAM potentials.+
  
-=== force2poscar ===+[[#force2poscar|force2poscar]]\\ 
 + Convert a potfit configuration into a VASP POSCAR file.
  
-Converts force files produced by [http://imd.itap.physik.uni-stuttgart.de/ IMD] and used by ''potfit'' to [http://cms.mpi.univie.ac.at/vasp/ VASPinput file POSCAR.+[[#list_config|list_config]]\\ 
 + Prints a brief list of all configurations in a potfit config file.
  
-Compilation: <tt>make force2poscar [-DSTRESS]</tt>+[[#makeapot|makeapot]]\\ 
 + Create an analytic potential file for potift.
  
-Usage:  +[[#plotapot|plotapot]]\\ 
- force2poscar input.force+ Plot an analytic potfit potential using gnuplot. 
 +  
 +[[#potfit_setup|potfit_setup]]\\ 
 + Creates a parameter file for //potfit// from scratch.
  
-The information is always written to a file called POSCAR residing in the local directory. Use compile option -DSTRESS if your force file includes stress tensor information.+[[#vasp2force|vasp2force]]\\ 
 + Converts vasp output (POSCAR, OUTCAR) to reference configuration data.
  
-=== vasp2force ===+[[Utilities/old|awk scripts]]\\ 
 +A series of awk scripts to handle various tasks with potential files, like combining, appending, creating from analytical functions, generating from scratch, plotting,...
  
-Converts [http://cms.mpi.univie.ac.at/vasp/ VASP] output to force files.+----
  
-Compilation: <tt>make vasp2force</tt> 
  
-Usage:  +====  force2imd  ====
- vasp2force [-c list] [-e file] [-f] [-l] [-r] [-s list] <OUTCAR files>+
  
-Reads information from all OUTCAR files in the current directory. <OUTCAR files> is an optional list of files, if not given all files matching OUTCAR* will be scanned (it is possible to read gzipped files ending with .gz). +Converts a potfit configuration into an [[http://imd.itap.physik.uni-stuttgart.de/|IMD]checkpoint file.
-An optional file can be specified, containing the energy of a single free atom calculated by [http://cms.mpi.univie.ac.at/vasp/ VASPin a single line in the same order as in the OUTCAR file, e.g.:+
  
- # Al      Co        Ni +<code> 
- -0.000219 -0.993872 -0.855835+usage: force2imd [-h] [-n NUMBER] filename
  
-Writes force file to be used as a ''potfit'' reference configuration to standard output. If no options are given, force data is generated from each ionic step.+Convert a potfit configuration into an IMD checkpoint file.
  
-Options:+positional arguments: 
 +  filename              name of the potfit config file
  
-<tt>-c <list></tt> +optional arguments
-:list of chemical species to use (e.g. "vasp2force -c Al=0,Mn=1,Pd=2"). This will force all atom types in all configurations to be consistent. +  -h, --help            show this help message and exit 
-<tt>-e <file></tt> +  -n NUMBER, --number NUMBER 
-:Specify file to read single atom energies from; if not found"0" will be used for every atom type. +                        number of the configuration to convert 
-<tt>-f</tt> +</code>
-:Uses only final configuration of multiple ionic steps. +
-<tt>-l</tt> +
-:List all chemical species found in OUTCAR and exit. +
-<tt>-r</tt> +
-:Scan recursively for OUTCAR files in every subdirectory. +
-<tt>-s list</tt> +
-:List is a comma separated list of ionic steps to use, e.g. "1,4,7,9". The sequence of the force data is always the same as in the OUTCAR file, independent of the sequence given in the list. Every configuration mentioned appears exactly once. +
-<tt>-w weight</tt> +
-:Assign this weight to all configurations.+
  
-=== pottrans ===+The IMD checkpoint file is written to standard output.
  
-Converts betweeen various potential models.+====  force2poscar  ====
  
-Compilation <tt>make pottrans</tt>+Convert a potfit configuration into a [[http://cms.mpi.univie.ac.at/vasp/|VASP]] POSCAR file.
  
-Usage: +<code> 
- pottrans <paramfile>+usage: force2poscar [-h] [-n NUMBER] filename
  
-required parameters in paramfile (here with example values)+Convert a potfit configuration into a VASP POSCAR file.
  
-<code><pre> +positional arguments: 
-ntypes               # number of atom types +  filename              name of the potfit config file
-ncols      3           # number of output potentials +
-infile     in.pot      # input potential file for pair potentials +
-outfile    out.pot     # output potential file +
-nsteps     20 20 20    # number of steps for the output potentials +
-atomic_e-density_file  rho.pot   # atomic density for EAM potentials +
-embedding_energy_file  embed.pot # embedding energy for EAM potentials +
-core_potential_file    phi.pot   # pair potential for EAM potentials+
  
-#optional parameters+optional arguments: 
 +  -h, --help            show this help message and exit 
 +  -n NUMBER, --number NUMBER 
 +                        number of the configuration to convert 
 +</code>
  
-reorder     0 1        # permutes order of potentials in final file, +The VASP POSCAR data is written to standard output.
-                       # ntypes parameters necessary +
-r_start   1.8 1.8 1.8  # minimal r for each column in output potential +
-</pre></code>+
  
-in.pot is converted to out.pot. in.pot can be of IMD potential format 1 or 2, out.pot is of ''potfit'' potential format. For EAM potentials, specify the appropriate number of columns in ncols and the required IMD format potential files. The order of the different atom types can be changed with the reorder parameter by specifying the desired sequence.+====  list_config  ====
  
-To convert from ''potfit'' to IMD use ''potfit'' with opt 0 in parameter file.+Prints a brief list of all configurations in a potfit config file.
  
-=== list_config ===+<code> 
 +usage: list_config [-h] filename
  
-Lists all configurations in a config file.+Prints a brief list of all configurations in a potfit config file.
  
-Compilation:  <tt>make list_config</tt>+positional arguments: 
 +  filename    name of the potfit config file
  
-Usage+optional arguments
- list_config <config_file>+  -h, --help  show this help message and exit 
 +</code>
  
-Scans a ''potfit'' configuration file and lists all configurations found. This includes the origin (if comment is found), the starting line, number of atoms and weight of the configuration.+Scans a //potfit// configuration file and lists all configurations found.  
 +This includes the origin (if comment is found), the starting line, number of atoms and  
 +weight of the configuration.
  
-=== potfit_setup ===+====  makeapot  ====
  
-This utility generates a simple parameter file for ''potfit''.+Generate analytic potential files for //potfit// from scratch.
  
-Usage: +<code> 
- potfit_setup [-c config file] [-p potential file] [-s prefix]+usage: makeapot [-h] [-n N] [-co CUTOFF] [-g] [-r] [-i TYPE] [-l] [-cp] 
 +                [-f [FUNCTIONS [FUNCTIONS ...]]]
  
-<tt>-c <config file></tt> +Create an analytic potential file for potift.
-:name of the configuration file +
-<tt>-p <potential file></tt> +
-:name of the potential file (for analytic potentials this can easily be created with the <tt>makeapot</tt> script from the awkscripts) +
-<tt>-s <prefix></tt> +
-:prefix for all files, overrides -c and -p  +
-:the following files will be checked: <tt><prefix>.pot</tt> and <tt><prefix>.config</tt> if they are not found, -c and -p will be read+
  
-=== awk scripts ===+optional arguments: 
 +  -h, --help            show this help message and exit 
 +  -n N                  number of atoms types, runs from 0 to N-1 
 +  -co CUTOFF, --cutoff CUTOFF 
 +                        cutoff radius 
 +  -g                    use global cutoff parameter 
 +  -r, --random          randomize the starting potential 
 +  -i TYPE, --type TYPE  interaction type, e.g. pair, eam, adp, ... 
 +  -l, --list            list options which are available 
 +  -cp                   enable chemical potentials (only for pair) 
 +  -f [FUNCTIONS [FUNCTIONS ...]] 
 +                        name of potential functions, either name or i*name, 
 +                        where i=1,2,3,... 
 +</code>
  
-The awk scripts are listed on a [[Utilities/Awk_scripts|separate page]]. 
  
-=== potscale === +====  plotapot  ====
-'''<div style="color:red">Not maintained anymore !</div>'''+
  
-potscale performs gauge transformations on EAM potentials.+This utility plots an analytic potential with gnuplot.
  
-Compilation: <tt>make potscale</tt>+<code> 
 +usage: plotapot [-h] [-f] [-p] [-s size] [-t terminal] 
 +                pot_file [pair_dist_file] 
 + 
 +Plot an analytic potfit potential using gnuplot. 
 + 
 +positional arguments: 
 +  pot_file        potfit potential file 
 +  pair_dist_file  pair distribution file 
 + 
 +optional arguments: 
 +  -h, --help      show this help message and exit 
 +  -f              write plotfiles for gnuplot and exit 
 +  -p              only create plots in png format but do not show them 
 +  -s size         window size of the gnuplot window (default: 640x480) 
 +  -t terminal     use this gnuplot terminal (see the 'help terminal' command 
 +                  in gnuplot for details) 
 +</code> 
 + 
 +====  potfit_setup  ==== 
 + 
 +This utility generates a simple parameter file for //potfit//.
  
 Usage: Usage:
- potscale <paramfile>+  potfit_setup [-c config file] [-p potential file] [-s prefix]
  
-Required parameters in paramfile:+<code> 
 + -c <config file>       name of the configuration file 
 + -p <potential file>    name of the potential file 
 +                        for analytic potentials this can easily be created with 
 +                        the makeapot script from the awkscripts 
 + -s <prefix>            prefix for all files, overrides -c and -p 
 +                        the following files will be checked: 
 +                        <prefix>.pot and <prefix>.config 
 +                        if they are not found, -c and -p will be read 
 +</code>
  
-<code><pre> +====  vasp2force  ====
-ntypes # number of atom types (types vary in [0..ntypes-1])  +
-startpot # file name for starting potential (*) +
-endpot # file name for final potential (*) +
-imdpot # file name prefix for imd potential (*) +
-plotfile # file name for plotting potential (*) +
-plotpointfile # file name for plotting the sampling points (*)+
  
-imdpotsteps # number of points in each function in imd file +Converts [[http://cms.mpi.univie.ac.at/vasp/|VASP]] output data into potfit reference configurations. 
-dummy_r # Distancewhere dummy_rho and dummy_phi are used (ignored)+ 
 +<code> 
 +usage: vasp2force [-h] [-c C] [-e E] [-f] [-l] [-r] [-s CONFIGS] [-w WEIGHT] 
 +                  [files [files ...]] 
 + 
 +Converts vasp output data into potfit reference configurations. 
 + 
 +positional arguments: 
 +  files                 list of OUTCAR files (plain or gzipped) 
 + 
 +optional arguments: 
 +  -h, --help            show this help message and exit 
 +  -c C                  list of chemical species to use, e.g. -c Mg=0,Zn=1 
 +  -e E                  file with single atom energies (NYI) 
 +  -f--final           use only the final configuration from OUTCAR 
 +  -l, --list            list all chemical species and exit 
 +  -r, --recursive       scan recursively for OUTCAR files 
 +  -s CONFIGS, --configs CONFIGS 
 +                        comma separated list of configurations to use 
 +  -w WEIGHT, --weight WEIGHT 
 +                        set configuration weight for all configurations 
 +</code> 
 + 
 +Reads information from all OUTCAR files in the current directory. <OUTCAR files> is an optional list of files, if not given all files matching OUTCAR* will be scanned (it is possible to read gzipped files ending with .gz)
 +An optional file can be specified, containing the energy of a single free atom calculated by [[http://cms.mpi.univie.ac.at/vasp/|VASP]] in a single line in the same order as in the OUTCAR file, e.g.:
  
-#optional options +<code> 
-dummy_rho dummy value of rho at dummy_r +Al      Co        Ni 
-dummy_phi # vector (length ntypes) dummy values of phi_ii at dummy_r +-0.000219 -0.993872 -0.855835 
-</pre></code>+</code>
  
-Prints the values of <math>\rho_0\,</math>(dummy_r) and <math>\Phi_{ii}\,</math>(dummy_r)+Writes a force file to be used as a //potfit// reference configuration to standard output. If no options are given, force data is generated from each ionic step.
  
-If dummy_phi is given, the potential is transformed so that <math>\rho_0</math>(dummy_r)=dummy_rho and <math>\Phi_{ii}</math>(dummy_r)=dummy_phi_ii.  
  
-IMD potentials and potential plot files are also written.+====  awk scripts  ====
  
 +The awk scripts are listed on a [[utilities/Awk_scripts|separate page]].