Skip to content

Commit d1b7bc1

Browse files
committed
initial draft for k vector isodistort tutorial
1 parent 3b255f1 commit d1b7bc1

File tree

8 files changed

+390
-0
lines changed

8 files changed

+390
-0
lines changed
Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
#------------------------------------------------------------------------------
2+
#$Date: 2016-02-14 06:40:26 +0200 (Sun, 14 Feb 2016) $
3+
#$Revision: 176432 $
4+
#$URL: svn://www.crystallography.net/cod/cif/1/51/21/1512124.cif $
5+
#------------------------------------------------------------------------------
6+
#
7+
# This file is available in the Crystallography Open Database (COD),
8+
# http://www.crystallography.net/
9+
#
10+
# All data on this site have been placed in the public domain by the
11+
# contributors.
12+
#
13+
data_1512124
14+
loop_
15+
_publ_author_name
16+
'Natheer B. Mahmood'
17+
'Emad K. Al-Shakarchi'
18+
'Brahim Elouadi'
19+
_publ_section_title
20+
;
21+
Three Techniques Used to Produce BaTiO3 Fine Powder
22+
;
23+
_journal_name_full 'Journal of Modern Physics'
24+
_journal_page_first 1420
25+
_journal_page_last 1428
26+
_journal_paper_doi 10.4236/jmp.2011.211175
27+
_journal_volume 2
28+
_journal_year 2011
29+
_chemical_formula_analytical SrTiO3
30+
_chemical_formula_structural SrTiO3
31+
_chemical_formula_sum 'O3 Sr Ti'
32+
_chemical_formula_weight_meas 183.490
33+
_chemical_name_structure_type
34+
;
35+
Perovskite
36+
;
37+
_chemical_name_systematic
38+
;
39+
strontium titanate
40+
;
41+
_space_group_IT_number 221
42+
_symmetry_Int_Tables_number 221
43+
_symmetry_space_group_name_Hall '-P 4 2 3'
44+
_symmetry_space_group_name_H-M 'P m -3 m'
45+
_audit_creation_date 2013-07-23
46+
_audit_creation_method ' Natheer'
47+
_audit_update_record 2013-07-23
48+
_cell_angle_alpha 90.000
49+
_cell_angle_beta 90.000
50+
_cell_angle_gamma 90.000
51+
_cell_formula_units_Z 1
52+
_cell_length_a 3.8990
53+
_cell_length_b 3.8990
54+
_cell_length_c 3.8990
55+
_cell_volume 59.273
56+
_exptl_crystal_density_meas 5.140
57+
_cod_data_source_file ST.cif
58+
_cod_data_source_block ST
59+
_cod_original_cell_volume 59.3
60+
_cod_original_sg_symbol_Hall -P_4_2_3
61+
_cod_original_formula_sum 'Sr Ti O3'
62+
_cod_database_code 1512124
63+
loop_
64+
_symmetry_equiv_pos_site_id
65+
_symmetry_equiv_pos_as_xyz
66+
1 x,y,z
67+
2 -y,x,z
68+
3 -x,-y,z
69+
4 y,-x,z
70+
5 x,-z,y
71+
6 x,-y,-z
72+
7 x,z,-y
73+
8 z,y,-x
74+
9 -x,y,-z
75+
10 -z,y,x
76+
11 z,x,y
77+
12 y,z,x
78+
13 -y,-z,x
79+
14 z,-x,-y
80+
15 -y,z,-x
81+
16 -z,-x,y
82+
17 -z,x,-y
83+
18 y,-z,-x
84+
19 y,x,-z
85+
20 -y,-x,-z
86+
21 -x,z,y
87+
22 -x,-z,-y
88+
23 z,-y,x
89+
24 -z,-y,-x
90+
25 -x,-y,-z
91+
26 y,-x,-z
92+
27 x,y,-z
93+
28 -y,x,-z
94+
29 -x,z,-y
95+
30 -x,y,z
96+
31 -x,-z,y
97+
32 -z,-y,x
98+
33 x,-y,z
99+
34 z,-y,-x
100+
35 -z,-x,-y
101+
36 -y,-z,-x
102+
37 y,z,-x
103+
38 -z,x,y
104+
39 y,-z,x
105+
40 z,x,-y
106+
41 z,-x,y
107+
42 -y,z,x
108+
43 -y,-x,z
109+
44 y,x,z
110+
45 x,-z,-y
111+
46 x,z,y
112+
47 -z,y,-x
113+
48 z,y,x
114+
loop_
115+
_atom_site_label
116+
_atom_site_type_symbol
117+
_atom_site_fract_x
118+
_atom_site_fract_y
119+
_atom_site_fract_z
120+
_atom_site_occupancy
121+
_atom_site_symmetry_multiplicity
122+
_atom_site_Wyckoff_symbol
123+
_atom_site_calc_flag
124+
sr Sr 0.5000 0.5000 0.5000 1.000 1 b d
125+
ti Ti 0.0000 0.0000 0.0000 1.000 1 a d
126+
o O 0.5000 0.0000 0.0000 1.000 3 d d
127+
loop_
128+
_atom_type_symbol
129+
_atom_type_radius_bond
130+
Sr 1.200
131+
Ti 1.200
132+
O 1.200
Lines changed: 194 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,194 @@
1+
# This file was generated by ISODISTORT, version 6.12.2
2+
# Harold T. Stokes, Branton J. Campbell, David Tanner, Dorian M. Hatch
3+
# Brigham Young University, Provo, Utah, USA
4+
#
5+
# Space Group: 221 Pm-3m Oh-1
6+
# Default space-group preferences: monoclinic axes a(b)c, monoclinic cell choice 1, orthorhombic axes abc, origin choice 2, hexagonal axes, SSG standard setting
7+
# Lattice parameters: a= 3.89900, b= 3.89900, c= 3.89900, alpha= 90.00000, beta= 90.00000, gamma= 90.00000
8+
# sr 1b (1/2,1/2,1/2)
9+
# ti 1a (0,0,0)
10+
# o 3d (1/2,0,0)
11+
# Include strain, displacive ALL distortions
12+
# k point: X, k10 (0,1/2,0)
13+
# IR: X1+, k10t1
14+
# P1 (a;0;0) 123 P4/mmm, basis={(1,0,0),(0,0,1),(0,-2,0)}, origin=(0,0,0), s=2, i=6, k-active= (0,1/2,0)
15+
# Order parameter values:
16+
# Pm-3m[0,1/2,0]X1+(a;0;0) 123 P4/mmm s=2 i=6
17+
# [sr:b:dsp]T1u(a): 0.10000
18+
# [o:d:dsp]A2u(a): -0.30000
19+
# Pm-3m[0,0,0]GM1+(a) 221 Pm-3m s=1 i=1
20+
# strain(a): 0.00000
21+
# Pm-3m[0,0,0]GM3+(a,-1.732a) 123 P4/mmm s=1 i=3
22+
# strain(a): 0.00000
23+
24+
data_isodistort-output
25+
26+
_cell_length_a 3.89900
27+
_cell_length_b 3.89900
28+
_cell_length_c 7.79800
29+
_cell_angle_alpha 90.00000
30+
_cell_angle_beta 90.00000
31+
_cell_angle_gamma 90.00000
32+
_cell_volume 118.54676
33+
34+
_symmetry_space_group_name_H-M "P 4/m 2/m 2/m"
35+
_symmetry_Int_Tables_number 123
36+
_space_group.reference_setting '123:-P 4 2'
37+
_space_group.transform_Pp_abc a,b,c;0,0,0
38+
39+
loop_
40+
_space_group_symop_id
41+
_space_group_symop_operation_xyz
42+
1 x,y,z
43+
2 x,-y,-z
44+
3 -x,y,-z
45+
4 -x,-y,z
46+
5 -y,-x,-z
47+
6 -y,x,z
48+
7 y,-x,z
49+
8 y,x,-z
50+
9 -x,-y,-z
51+
10 -x,y,z
52+
11 x,-y,z
53+
12 x,y,-z
54+
13 y,x,z
55+
14 y,-x,-z
56+
15 -y,x,-z
57+
16 -y,-x,z
58+
59+
loop_
60+
_atom_type_symbol
61+
Sr
62+
Ti
63+
O
64+
65+
loop_
66+
_atom_site_label
67+
_atom_site_type_symbol
68+
_atom_site_symmetry_multiplicity
69+
_atom_site_Wyckoff_symbol
70+
_atom_site_fract_x
71+
_atom_site_fract_y
72+
_atom_site_fract_z
73+
_atom_site_occupancy
74+
_atom_site_fract_symmform
75+
sr_1 Sr 2 h 0.50000 0.50000 0.74093 1.00000 0,0,Dz
76+
ti_1 Ti 1 a 0.00000 0.00000 0.00000 1.00000 0,0,0
77+
ti_2 Ti 1 b 0.00000 0.00000 0.50000 1.00000 0,0,0
78+
o_1 O 2 f 0.00000 0.50000 0.00000 1.00000 0,0,0
79+
o_2 O 2 e 0.00000 0.50000 0.50000 1.00000 0,0,0
80+
o_3 O 2 g 0.00000 0.00000 0.77720 1.00000 0,0,Dz
81+
82+
_iso_displacivemode_number 2
83+
84+
loop_
85+
_iso_displacivemode_ID
86+
_iso_displacivemode_label
87+
_iso_displacivemode_value
88+
1 Pm-3m[0,1/2,0]X1+(a;0;0)[sr:b:dsp]T1u(a) 0.10000
89+
2 Pm-3m[0,1/2,0]X1+(a;0;0)[o:d:dsp]A2u(a) -0.30000
90+
91+
loop_
92+
_iso_displacivemodenorm_ID
93+
_iso_displacivemodenorm_value
94+
1 0.09068
95+
2 0.09068
96+
97+
loop_
98+
_iso_deltacoordinate_ID
99+
_iso_deltacoordinate_label
100+
_iso_deltacoordinate_value
101+
1 sr_1_dz -0.00907
102+
2 o_3_dz 0.02720
103+
104+
loop_
105+
_iso_coordinate_label
106+
_iso_coordinate_formula
107+
sr_1_x "1/2"
108+
sr_1_y "1/2"
109+
sr_1_z "3/4 + sr_1_dz"
110+
ti_1_x "0"
111+
ti_1_y "0"
112+
ti_1_z "0 + ti_1_dz"
113+
ti_2_x "0"
114+
ti_2_y "0"
115+
ti_2_z "1/2 + ti_2_dz"
116+
o_1_x "0"
117+
o_1_y "1/2"
118+
o_1_z "0 + o_1_dz"
119+
o_2_x "0"
120+
o_2_y "1/2"
121+
o_2_z "1/2 + o_2_dz"
122+
o_3_x "0"
123+
o_3_y "0"
124+
o_3_z "3/4 + o_3_dz"
125+
126+
# matrix conversion: deltacoords(lattice units) = matrix.(modeamplitudes*modenormfactors)
127+
# Square matrix with _iso_displacivemode_number rows and columns
128+
129+
loop_
130+
_iso_displacivemodematrix_row
131+
_iso_displacivemodematrix_col
132+
_iso_displacivemodematrix_value
133+
1 1 -1.00000
134+
2 2 -1.00000
135+
136+
_iso_magneticmode_number 0
137+
138+
139+
_iso_rotationalmode_number 0
140+
141+
142+
_iso_occupancymode_number 0
143+
144+
_iso_strainmode_number 2
145+
146+
loop_
147+
_iso_strainmode_ID
148+
_iso_strainmode_label
149+
_iso_strainmode_value
150+
1 Pm-3m[0,0,0]GM1+(a)strain(a) 0.00000
151+
2 Pm-3m[0,0,0]GM3+(a,-1.732a)strain(a) 0.00000
152+
153+
loop_
154+
_iso_strainmodenorm_ID
155+
_iso_strainmodenorm_value
156+
1 0.57735
157+
2 0.81650
158+
159+
loop_
160+
_iso_strain_ID
161+
_iso_strain_label
162+
_iso_strain_value
163+
1 E_1 0.00000
164+
2 E_2 0.00000
165+
3 E_3 0.00000
166+
4 E_4 0.00000
167+
5 E_5 0.00000
168+
6 E_6 0.00000
169+
170+
# matrix conversion: strains(parent) = matrix * modeamplitudes
171+
# Rectangular matrix with 6 rows and _iso_strainmode_number columns
172+
173+
loop_
174+
_iso_strainmodematrix_row
175+
_iso_strainmodematrix_col
176+
_iso_strainmodematrix_value
177+
1 1 1.00000
178+
1 2 -0.50000
179+
2 1 1.00000
180+
2 2 1.00000
181+
3 1 1.00000
182+
3 2 -0.50000
183+
184+
_iso_parentcell_length_a 3.89900
185+
_iso_parentcell_length_b 3.89900
186+
_iso_parentcell_length_c 3.89900
187+
_iso_parentcell_angle_alpha 90.00000
188+
_iso_parentcell_angle_beta 90.00000
189+
_iso_parentcell_angle_gamma 90.00000
190+
_iso_parentcell_volume 59.27338
191+
_iso_parent-to-child.transform_Pp_abc a,c,-2b;0,2,0
192+
193+
# end of structure file
194+
# end of cif
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#GSAS-II instrument parameter file; do not add/delete items!
2+
Type:PNT
3+
Z:0.0
4+
fltPath:63.183
5+
alpha:0.19637459518597117
6+
sig-q:-115.671
7+
2-theta:90.0
8+
sig-1:-150.877831643885
9+
sig-0:223.89502267695218
10+
sig-2:74.40379758682252
11+
Zero:0.0
12+
difA:0.0
13+
difB:5.3599226472337405
14+
Azimuth:0.0
15+
Y:0.0
16+
X:0.0
17+
beta-q:0.1307895343792446
18+
beta-0:0.002606568983582579
19+
difC:22583.929270280536
20+
beta-1:-0.07551370867534292
21+
Bank:3.0
5.95 MB
Loading
41.4 KB
Loading
59.7 KB
Loading
441 KB
Loading
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
title: Use the k-vector searched with GSAS-II to talk to ISODISTORT
3+
---
4+
<!--- Don't change the HTML version of this file; edit the .md version -->
5+
6+
* Exercise files are found [here](data/index.html)
7+
8+
<a name=Intro></a>
9+
10+
## Intro
11+
12+
When the symmetry of a system is lowering through a group-subgroup pathway while going through a phase transition, one can try to use the emerging satellite peaks in the diffraction pattern to search for a k-vector that best explains the satellite peak positions. Refer to the two tutorials regarding the k-vector search in GSAS-II, [here](https://advancedphotonsource.github.io/GSAS-II-tutorials/k_vec_tutorial/k_vec_tutorial.html) and [here](https://advancedphotonsource.github.io/GSAS-II-tutorials/k_vec_tutorial_non_zero/k_vec_tutorial_non_zero.html). Once we obtain the alternative k-vector, we can move forward to use the k-vector to talk to ISODISTORT to search for all the isotropic subgroups that are compatible with the k-vector. It covers all the irreducible representations (IRs) compatible with the k-vector and the order parameters associated with each IR. An exhaustive refinement can then be performed for each of the candidate subgroup against the experimental diffraction data of the low symmetry phase. In this tutorial, we will demonstrate how to use the implementation in GSAS-II regarding this. Going through the steps to be presented here, we are expecting a series of GSAS-II project file, each for a specific subgroup candidate.
13+
14+
For the demonstration purpose, here we are using the SrTiO${}_3$ structure as the parent and an arbitrarily generated subgroup (space group: $P4/mmm$) with a k-vector of (0, 1/2, 0). We simulated the powder diffraction data for both, with a typical instrument parameter file from the POWGEN diffractometer at SNS, ORNL. We will then use the simulated data to conduct a 'reverse engineering'. Namely, we can fit the simulated data from the subgroup with the parent phase and from there, we can use the residual peaks to extract the k-vector candidate and for a selected k-vector, we can construct GSAS-II project files for each of the subgroup candidate. We will `not` perform the exhaustive refinement for all the generated project files, though. `In the future, we can think about creating a wrapper script to run through all the generated candidate subgroups in a programmable manner.`
15+
16+
Here below is shown the two structures used in this tutorial -- (left) the parent STO structure and (right) the arbitrarily generated subgroup structure.
17+
18+
<img src="./imgs/structures.png" alt="order parameter plot" style="width:500px;">
19+
20+
## Data Simulation
21+
22+
For the data simulation with a CIF file, for sure we can use GSAS-II to do it. But here we want to showcase a convenient web-based tool for such a purpose. In fact, the backend calculation engine is still using GSAS-II, it is just that we will be doing this through an easy-accessible web interface. First, download the two structure files we include in the tutorial, `STO_Parent.cif` and `STO_Subgroup.cif`, together with the instrument parameter file we will be using for the simulation `powgen_profile_lwf.instprm`. Then go to the website, [https://addie.ornl.gov/simulatingpowder](https://addie.ornl.gov/simulatingpowder) (or, go to [https://addie.ornl.gov](https://addie.ornl.gov), then `Scattering Tools` => `SimulatePowder`). The interface looks like the figure to the right.
23+
24+
![ADDIE Powder Diff Simulation](imgs/addie_simu.png)
25+
26+
There we can upload the CIF file and the instrument parameter file to use for the simulation and click on the `Submit` button. One can notice that we have a dropdown selection menu there in the interface from which we can select one of the pre-included instruments such as NOMAD and POWGEN at SNS, ORNL and HB-2A (Powder) and HB-2C (WAND^2), HFIR, ORNL. One can also select the scatterer type and put in some optional parameters (follow the link there to see what options we can put in). The resulted here will be like the figure to the right.
27+
28+
![ADDIE Powder Diff Simulation Result](imgs/addie_simu_result.png)
29+
30+
We can download the simulated powder diffraction data by clicking on the `Datafile Download` button on top of the time-of-flight (TOF) result presented at the very top. Data in $d$ and $Q$ space are also presented but we do not need them here. We can do this for both CIF files provided here and if we do not change the CIF file names (`STO_Parent.cif` and `STO_Subgroup.cif`), we will obtain the following two simulated powder diffraction patterns, `STO_Parent_neutron_powder_calc.txt` and `STO_Subgroup_neutron_powder_calc.txt`, for the parent and subgroup phase, respectively. We will use these two simulated data files for the next part of the tutorial. Before that, if we want to have a quick comparison between the two datasets, we can go to [https://addie.ornl.gov/plotter](https://addie.ornl.gov/plotter), select the `Multiple Files Mode` and upload the two data files for a quick comparison plot. Here to the right is presented a demo for the tool.
31+
32+
![ADDIE Data Plotter](imgs/addie_plotter.gif)
33+
34+
## Refinement of the Subgroup Data with the Parent Phase
35+
36+
Since we are dealing with the simulated data so here we are not going to refine the parent data with the parent phase since that will be trivial and we are expecting a 'perfect' refinement. To start, we load in the subgroup simulated data and refine it with the parent phase, pretending that we don't know the subgroup structure. First, launch the GSAS-II GUI,
37+
38+
## Authors
39+
40+
| |
41+
| ---: |
42+
| Yuanpeng Zhang |
43+
| September 25, 2025 |

0 commit comments

Comments
 (0)