BasIreps
A program for calculating irreducible representation of little groups and basis functions of polar and axial vector properties.
Juan Rodríguez-Carvajal ( LLB 2004)
Package information
Actually we are distributing two executable files bellowing to BasIreps distribution. The first is the console version of BasIreps (basireps.exe) and the second is the GUI program for the console version (gbasireps.exe). GBasIreps is able to generate the input control file for BasIreps and run the program in a silent mode showing automatically the final files generated by BasIreps.
Both are included on the FullProf Suite package.
Running the program
For a rapid view of BasIreps, run the GUI GBasIreps by clicking on it, or invoking it from a console or from the program EdPCR.
You may run directly BasIreps from a console as follows:
Local_Prompt> basireps My_file <cr>
My_file is the code of the input file summarizing the instructions for running BasIreps. The complete name, by default, is "My_file.smb"; however any extension can be used and it must be given in general cases.
To access the help file of BasIreps from GBasIreps the environment variable FULLPROF has to be defined. It points to a directory where the executable files have to be stored.
These notes are given to facilitate the use of the program. At present there is no detailed manual for BasIreps. For someone with sufficient skills in group theory the output files are self explanatory.
The program
The program BasIreps calculates the irreducible representations (irreps) of the so called "little groups" from which the full irreducible representations of space groups can be calculated using the induction formula. The method used in BasIreps for calculating the irreps is based in the procedure used in the program KAREP by E. Hovestreydt, I. Aroyo et al, J.Appl.Cryst. 25, 544 (1992). The method of Zak used in KAREP has been implemented in a special subroutine within BasIreps.
After calculating the irreps corresponding to a given space group and propagation vector the program calculates the basis functions corresponding to vectorial properties (atom displacements or magnetic moments) of atoms in crystalline solids.
This program calculates non-normalized basis
functions of the irreducible representations of the little group for atom properties in a crystal. In
particular the calculations can be performed for atomic displacements (or
phonon modes), as polar vectors, and for magnetic moments as axial vectors. In
general the displacement/magnetic moment of atom j in cell L may be
written as a Fourier series of the form:
k and RL are vectors referred to the reciprocal
and direct crystallographic basis respectively. The vectors and
have the same units and are referred to a
basis of unit vectors along the direct crystallographic cell basis. The vectors
are the Fourier components of the magnetic
moments (or displacements)
.
Taking into account the symmetry, the vectors may be written as linear combinations of the
so-called basis functions of the irreducible representations of the propagation
vector group
.
The number of free parameters in a displacive phase transition, or in a
magnetic structure, is less than
.
The number 3 comes from the three components of
,
n is the total number of atoms in a
primitive cell and
is the number of propagation vectors. The
number of independent free parameters (order parameters) can be calculated from
group theory. In general the vector
may be written as:
Where are the coefficients (that may be real or pure
imaginary) of the linear combination, and
are constant vectors referred to the basis of
the direct cell. The labels are the following
is for the particular propagation vector and
the representation called
.
The index a varies from 1 up to the
dimension of the irreducible representation: a=1,2,...dim(
). The index m varies from 1 to the number of times the irreducible
representation
is contained in the global mechanic/magnetic
reducible representation constructed by working with the symmetry operators
acting on atoms coordinates and components of polar/axial vectors (dimension 3 × n).
See, for instance, the book by Y.A. Izyumov, V.E. Naish and R.P. Ozerov (1991)
for details.
The program BasIreps calculates the
vectors in a non-normalized form. However, the final
form of the basis functions is written as simple as possible. An effort in
future versions will be performed to recognize particular combinations of
common numbers.
The program BasIreps is written in a subset of the Fortran 95 language called F. It is based in the Crystallographic Fortran Modules Library (CrysFML), by Juan Rodriguez-Carvajal and Javier Gonzalez-Platas.
Input file
The file is written in free format. Each line starts with a keyword and a list of values. Whatever line starting with "!" or "#" (without quotes) in the first column are considered as a comment.
The minimum input for running the program is constituted by three lines with the keywords TITLE, SPGR (or GEN) and KVEC. The keywords are case sensitive, so only upper-case keywords are allowed.
An example of minimal input file for BasIreps is:
TITLE Minimum content of *.smb file
SPGR P n m a
KVEC 0.5000 0.0000 0.0000 X
Another examples is:
TITLE Minimum content of *.smb file
GEN x+1/2,y,-z ; x,-y,z ; -x,-y,-z
KVEC 0.0000 0.2500 0.0000 U
The values associated with the above keywords are the following:
TITLE
Whatever string of characters for identification purposes
SPGR
A string containing the Hermann-Mauguin symbol of the space group.
The different symmetry directions have to be separated by a blank character. The program interprets the space group symbol (Hermann-Mauguin or Hall notations are allowed) and generates an output with symmetry information about the provided space group.
GEN
A string containing the Jones faithful representation of the generators. The character ";" (without quotes) is used as separator for the different generators.
KVEC
Components of the k-vector (three real numbers) followed by one or two letter for labelling the k-vector (e.g. X, M, LD, UV ...). The components should be given with respect to the reciprocal basis of the conventional unit cell, as is commonly used in diffraction physics and crystallography.
With this minimal input the program calculates only the small representations of the propagation vector group (little group). To calculate basis functions the program needs the following keywords: BASIR and ATOM
BASIR
This keyword should be followed by two words.
The first one can be AXIAL or POLAR and the second must be CEL if one wants the program to put all generated atoms within the reference unit cell (all fractional coordinates >= 0 and < 1.0). AXIAL is adequate for the analysis of magnetic structures, and POLAR is useful for studying phonons (normal vibration modes) or structural phase transitions.
ATOM
This keyword introduces the information about one atom in the unit cell. Two labels are needed for the atoms. The second one should be the name of the element. This is not used internally but it is convenient for compatibility with other programs reading the same file. The two labels are followed by three fractional coordinates. The program generates the rest of atoms in the unit cell.
ATOM Cu Cu 0.2341 0.5000 0.00000
SUBL
This keyword is an alternative to ATOM for the case the numbering of sublattices is to be controlled by the user. This keyword must be followed in the same line by the label of the atom and the number of sublattices, NSUB, corresponding to the site.
The coordinates of the NSUB atoms must be given in the following NSUB lines starting at least from the 5th column. An arbitrary label may be put in the first 4 columns. The program will use the common label of the atoms adding and underscore "_" followed by the number of the sublattice.
For instance, if in the input file there are the lines
......
SUBL Tb 4
At 0.00000 0.00000 0.50000
At 0.25000 0.75000 0.75000
At 0.50000 0.00000 0.00000
At 0.25000 0.25000 0.25000
.......
the program will generate the labels Tb_1, Tb_2, Tb_3 and Tb_4 for numbering the atoms.
Examples
A complete example of input file to be used by BasIreps is:
TITLE Minimum content of *.smb file
SPGR C m c a
KVEC 0.0000 0.0000 1.0000 Z
BASIR AXIAL CEL
ATOM Fe Fe 0.0000 0.0000 0.47510
ATOM Co Fe 0.2341 0.5000 0.00000
Another example in which the sublattices are explicitly given in a particular order is the following:
TITLE Test Basireps
SPGR I 41/a m d
KVEC 0.5000 0.5000 0.5000 X
BASIR AXIAL
SUBL Tb 4
At 0.00000 0.00000 0.50000
At 0.25000 0.75000 0.75000
At 0.50000 0.00000 0.00000
At 0.25000 0.25000 0.25000
SUBL Fe 4
At 0.00000 0.00000 0.00000
At 0.50000 0.00000 0.50000
At 0.75000 0.25000 0.75000
At 0.75000 0.75000 0.25000
GBasIreps
The GUI to BasIreps has the following important fields that are used to generate input, "codefile.smb", and output files (after running BasIreps from the corresponding menu or button): "codefile.bsr" and "codefile.fp"
Code of files
Common code of files for the run
Working Directory
Complete path name of the working directory. This may be selected using the Browse button.
Title
A character string used as a title for the run
SpaceGroup or generators
A character string with different meanings. The user may input different things:
Example: x,-y,z+1/2 ; -x,y,z ; -x,-y,-z
K-vector
Components of the propagation vector in reciprocal lattice units. The reciprocal basis vectors are defined, through the well known dual relations, using direct basis vector of the conventional unit cell. This is the common practice in diffraction physics and crystallography.
Warning: The components of k-vectors in most textbooks of group theory are given with respect to the reciprocal basis of the primitive direct basis vectors. For primitive Bravais lattices there is no problem.
Brillouin Zone Label
Whatever character used for identification purposes. Up to two letters!
Example: GG
Polar vector/Axial vector
Checking one of the two alternatives will select the behaviour of the symmetry operators upon acting on vectors.
Atoms in unit cell
If this box is checked the program will put all generated atoms within the reference cell all coordinates values (v) verifying 0.0 <= v < 1.0. This is only operative if the box "Explicit Sublattices" is not checked.
Number of atoms, Explicit Sublattices and Atom positions
In the case the box "Explicit Sublattices" IS NOT CHECKED
The "Number of atoms" coincides with the number of sites (NS). The program will generate automatically all sublattices and, eventually, modify the number of sites if the propagation vector group cannot connect part of the sublattices generated by the full space group. The "Symbol" of the atom should have a maximum of four characters. Usually the chemical symbol is enough. The fractional coordinates are given in the fields "x/a", "x/b", "x/c". The GUI generates NS ATOM lines.
In the case the box "Explicit Sublattices" IS CHECKED
The "Number of atoms" is really the total number of atoms in the unit cell. In this case the name of the atoms cannot be arbitrarily given. For a particular site they must share the same atom code and the different sublattices are distinguished by an added underscore "_" followed by the number of the sublattice. The GUI generates a list of SUBL block of lines, deduced from the "Symbol". For example, to generate the SUBL blocks in the example of SUBL keyword above we have to write Number of atoms = 8, check the "Explicit Sublattices" box and provide the list:
Tb_1 0.00000 0.00000 0.50000
Tb_2 0.25000 0.75000 0.75000
Tb_3 0.50000 0.00000 0.00000
Tb_4 0.25000 0.25000 0.25000
Fe_1 0.00000 0.00000 0.00000
Fe_2 0.50000 0.00000 0.50000
Fe_3 0.75000 0.25000 0.75000
Fe_4 0.75000 0.75000 0.25000
BE CAREFUL! if the provided sublattices do not correspond are not related by operators in the propagation vector group (little group) the obtained results are wrong! If you are not sure it is safer to use the first atom of sites and let the program generate the sublattices.
Output files
The program generates two output files of extension '.bsr' and '.fp'. The first file contains the full information generated by BasIreps. The second file contains information in a format suitable to be pasted in the PCR file for FullProf.
As stated above, the content of the output files is self-explanatory.
Sometimes, mostly when complex multidimensional representations are concerned, the number of calculated basis functions is greater than what is expected. That may be due to propagation errors in the calculation of the rank of a general complex matrix. If this situation appears for a particular case the user should inspect the obtained basis functions and try to extract the linear independent basis functions from the provided set.
From the version 3.0, a formal writing of the
Fourier coefficients is output in the file of extension *.bsr.
Symbols for the coefficients
are used in the following order:
"u","v","w","p","q","r","a","b","c","d","e","f","g","l","m","n","s","t",
"U","V","W","P","Q","R","A","B","C","D","E","F","G","L","M","N","S","T"
If particular real numbers appear in the components of the basis functions (this may be due, for instance, to incommensurate propagation vectors) the program tries to recognize them and in the writing of the Fourier coefficients these special numbers appear in symbolic form. The numbers are given the following names in the order of appearance:
"r0","r1","r2","r3","r4","r5","r6","r7","r8","r9",
"p0","p1","p2","p3","p4","p5","p6","p7","p8","p9",
"q0","q1","q2","q3","q4","q5","q6","q7","q8","q9",
"s0","s1","s2","s3","s4","s5","s6","s7","s8","s9",
"t0","t1","t2","t3","t4","t5","t6","t7","t8","t9"
The
values of these numbers are given in separate lines with more precision than
that used for writing the basis vectors .
An example of output concerning this last point is given below. The calculation is performed for the following case:
TITLE Test Basireps
SPGR P 4/n m m
KVEC 0.5000 0.2341 0.0000 X
BASIR AXIAL CEL
ATOM Mn Mn 0.2500 0.2500 0.1320
.....
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
=>Basis functions of Representation IRrep( 1) of dimension 2 contained 3 times in GAMMA
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SYMM x,y,z -x+1,y+1/2,-z+1
Atoms: Mn_1 Mn_2
1:Re ( 1.00 0.00 0.00) ( 0.74 0.00 0.00)
Im ( 0.00 0.00 0.00) (-0.67 0.00 0.00)
2:Re ( 0.00 1.00 0.00) ( 0.00-0.74 0.00)
Im ( 0.00 0.00 0.00) ( 0.00 0.67 0.00)
3:Re ( 0.00 0.00 1.00) ( 0.00 0.00 0.74)
Im ( 0.00 0.00 0.00) ( 0.00 0.00-0.67)
4:Re (-0.74 0.00 0.00) ( 0.10 0.00 0.00)
Im ( 0.67 0.00 0.00) (-1.00 0.00 0.00)
5:Re ( 0.00 0.74 0.00) ( 0.00 0.10 0.00)
Im ( 0.00-0.67 0.00) ( 0.00-1.00 0.00)
6:Re ( 0.00 0.00 0.74) ( 0.00 0.00-0.10)
Im ( 0.00 0.00-0.67) ( 0.00 0.00 1.00)
----- LINEAR COMBINATIONS of Basis Functions: coefficients u,v,w,p,q ....
General expressions of the Fourier coefficients Sk(i) i=1,2,...nat
SYMM x,y,z Atom: Mn_1 0.2500 0.2500 0.1320
Sk(1): (u-r0.p,v+r0.q,w+r0.r)+i.r1.(p,-q,-r)
SYMM -x+1,y+1/2,-z+1 Atom: Mn_2 0.7500 0.7500 0.8680
Sk(2): (r0.u+r2.p,-r0.v+r2.q,r0.w-r2.r)+i.(-r1.u-r3.p,r1.v-r3.q,-r1.w+r3.r)
Values of real constants r0,r1,...
r0 = 0.741531 r1 = 0.670919 r2 = 0.099737 r3 = 0.995014
Check combinations of values by pairs: usually these real constants are related to k-vector. They can constitute real and/or imaginary parts of exp{2.pi.i.K.T }, being T a non-primitive translation of a symmetry operator. In many simple cases r0=cos(2.pi.k.t) and r1=sin(2.pi.k.t), etc ...
.....
One can see that the constant r2 is written as "0.10" in the basis vectors and the constant r3 does not appear because it is approximated as "1.00" in the format used for writing the numerical vectors.
The meaning of these constants are related, as suggested in the comment of the output, to the propagation vector k=(0.5000, 0.2341, 0.0000). The complex numbers r0+i.r1 and r2+i.r3 are:
r0+i.r1 = exp{pi.i.ky} and r2+i.r3 = exp{2.pi.i.ky}
This suggests a further simplification of the general Fourier coefficients that can be worked out by the user:
Sk(1)=(u-r0.p,v+r0.q,w+r0.r)+i.r1.(p,-q,-r)=(u,v,w)+r0.(-p,q,r)+i.r1.(p,-q,-r)
Sk(1) = (u,v,w) + r0.(-p,q,r)-i.r1.(-p,q,r) = (u,v,w) + (r0-ir1).(-p,q,r)
Sk(1) = (u,v,w) + (-p,q,r) .exp{-pi.i.ky}
Sk(2) = (r0.u+r2.p,-r0.v+r2.q,r0.w-r2.r)+i.(-r1.u-r3.p,r1.v-r3.q,-r1.w+r3.r)
Sk(2) = r0 (u,-v,w) + r2(p,q,-r) + i.r1.(-u,v,-w) +i.r3 (-p,-q,r)
Sk(2) = (r0-i.r1).(u,-v,w)+(r2-ir3).(p,q,-r)
Sk(2) = (u,-v,w).exp{-pi.i.ky}+(p,q,-r).exp{-2.pi.i.ky}
Disclaimer
The program BasIreps is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY of being free of internal errors. In no event will the author be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use the program (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of the program to operate with any other programs).
Recommended references:
Edited by Theo Hahn, published by the IUCr, D. Reidel Publishing Company, 1983.
Harold T. Stokes and Dorian M. Hatch, Word Scientific, 1988, ISBN 9971-50-772-2.
Jerzy Kocinski, ELSEVIER, 1990. ISBN 0-444-98775-4
This is the third volume of a series called Phase Transition Phenomena.
O.V. Kovalev, Ed. by Harold T. Stokes and Dorian M. Hatch, Gordon and Breach Science Publishers, 1993. ISBN 2-88124-934-5
C.J. Bradley and A.P. Cracknell,
Clarendon Press (
For magnetic structure symmetry analysis see the following references: