0% found this document useful (0 votes)
54 views3 pages

The Program Formal - Charges

The program Formal_Charges converts CIF files to CFL files for use in Bond-Valence Energy Landscapes calculations. It determines formal charges and can process single or multiple files. It generates CFL output files containing structural data and bond valence parameters that are used as input for the BondStr program. The user can specify additional options like the mobile ion species or use of soft bond valence parameters.

Uploaded by

Saida Kaoua
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views3 pages

The Program Formal - Charges

The program Formal_Charges converts CIF files to CFL files for use in Bond-Valence Energy Landscapes calculations. It determines formal charges and can process single or multiple files. It generates CFL output files containing structural data and bond valence parameters that are used as input for the BondStr program. The user can specify additional options like the mobile ion species or use of soft bond valence parameters.

Uploaded by

Saida Kaoua
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

The program Formal_Charges

Version July 2018, Nebil A. Katcho - ILL

The program Formal_Charges is a console utility for converting CIF files to CFL files
that allows Bond-Valence Energy Landscapes calculations with the program BondStr. The
program is fully based in CrysFML (Crystallographic Fortran 95 Modules Library).

The program needs an input file that can be either a standard CIF file or a CFL file containing
just the necessary structural information. The input file can be given as a command-line
argument that is the name of the file to be processed. If the file has the extension BUF, the
program assumes that the input file contains a list of CFL or CIF files to be processed. In this
last case another buffer file is created to be treated by BondStr program.

If the program is invoked without command-line argument it asks for the name of a CIF or
CFL file to be treated. Example:

c:\Examples_fch>Formal_Charges
============================
====== FORMAL CHARGES ======
============================
***********************************************
* Formal charges from *.cfl or *.cif files *
***********************************************
(Nebil A. Katcho - ILL, version: July 2018 )

=> Code of the file [Link](cif) (give xx):

The use should give a valid code (xx) existing in the current directory. If not the program
stops after giving a message:

c:\Examples_fch>Formal_Charges
============================
====== FORMAL CHARGES ======
============================
***********************************************
* Formal charges from *.cfl or *.cif files *
***********************************************
(Nebil A. Katcho - ILL, version: July 2018 )

=> Code of the file [Link](cif) (give xx): qewr


File: [Link] (or .cif) doesn't exist!

The normal way of invoking the program is providing a command-line argument:

c:\Examples_fch>Formal_Charges NiFePO5_gen.cif
============================
====== FORMAL CHARGES ======
============================
***********************************************
* Formal charges from *.cfl or *.cif files *
***********************************************
(Nebil A. Katcho - ILL, version: July 2018 )

=> Treating the file: NiFePO5_gen.cif # 1

Total number of treated files: 1


CPU-Time: 0.05 seconds
CPU-Time: 0.00 minutes

After running the program a file with extension FCH (in this case NiFePO5_gen.fch) is
generated containing the results of the treatment. The content of this file is self-explanatory.

The most important use of this utility is for treating many CIF files for generating a buffer file
with CFL files containing all the proper information to run Bond-Valence Energy Landscapes
calculations using BondStr. An example of this use is given below.

C:\Database\CIFs>Formal_Charges buffer_small.buf

============================
====== FORMAL CHARGES ======
============================
***********************************************
* Formal charges from *.cfl or *.cif files *
***********************************************
(Nebil A. Katcho - ILL, version: July 2018)

=> Treating the file: 10069_gen.cif # 1


=> Treating the file: 10645_gen.cif # 2
=> Treating the file: 10669_gen.cif # 3
=> Treating the file: 10670_gen.cif # 4
=> Treating the file: 10671_gen.cif # 5
=> Treating the file: 10693_gen.cif # 6
=> Treating the file: 11282_gen.cif # 7
=> Treating the file: 11283_gen.cif # 8
=> Treating the file: 11284_gen.cif # 9
=> Treating the file: 11285_gen.cif # 10

Total number of treated files: 10


CPU-Time: 0.23 seconds
CPU-Time: 0.00 minutes

After running Formal_Charges using a buffer file containing the names of CIF files the
program creates CFL files and a buffer file (cfl_buffer.buf) containing the generated
CFL filenames. In our case the content of cfl_buffer.buf is:
C: \Database\CIFs>more cfl_buffer.buf
10069_gen_fch.cfl
10645_gen_fch.cfl
10669_gen_fch.cfl
10670_gen_fch.cfl
10671_gen_fch.cfl
10693_gen_fch.cfl
11282_gen_fch.cfl
11283_gen_fch.cfl
11284_gen_fch.cfl
11285_gen_fch.cfl

Notice that the filenames contain the suffix _fch for indicating the origin of the CFL files.
The content of the generated CFL file depends on additional arguments provided in the
command line. In our case only the name of the buffer file has been provided so the content of
the CFL file by default is similar to the following:
C:\ Database\CIFs>more 10693_gen_fch.cfl
Title CFL-file generated from by Formal_Charges.f90
! Automatically generated CFL file (Write_CFL)
! a b c alpha beta gamma
Cell 5.50400 8.28900 6.11700 90.0000 90.0000 90.0000
! Space Group # 63
Spgr C m c m
! Atom Type x/a y/b z/c Biso Occ Spin Charge Info
Atom Cr Cr 0.00000 0.64080 0.25000 0.00000 0.25000 0.00 5.00 # None
Atom Cr Cr 0.00000 0.00000 0.00000 0.00000 0.12500 0.00 5.00 # None
Atom Li Li 0.00000 0.00000 0.00000 0.00000 0.12500 0.00 1.00 # None
Atom O O 0.00000 0.24540 0.96270 0.00000 0.50000 0.00 -2.00 # None
Atom O O 0.24320 0.02970 0.25000 0.00000 0.50000 0.00 -2.00 # None

! Bond_STR instructions
! Nx, Ny, Nz, Species, Dmax, Delta(eV):
BVEL 55 83 61 Li+1 10.00 3.00
PERCOLATION 3.5

By default the program determines the chemical species that is probably the mobile ionic
species in the given chemical compound. The user can change that by adding a second
argument in the command line corresponding to the desired ionic species. For instance
invoking the program as:

C:\Database\CIFs>Formal_Charges buffer_small.buf Na+1

Moreover if the user wants to use soft bond-valence parameters in BondStr an argument
containing the keyword SOFTBVS should be given as in:

C:\Database\CIFs>Formal_Charges buffer_small.buf SOFTBVS

If both the chemical species and soft BVS parameters are to be used, the chemical species
name should be given before the keyword SOFTBVS as in:

C:\Database\CIFs>Formal_Charges buffer_small.buf Na+1 SOFTBVS

The CFL files can be used directly to perform BVEL calculations by BondStr that admits also
the buffer file containing CFL files generated by Formal_Charges.

You might also like