Hi Martin,
So you want to calculate the powder patterns given a crystal structure.
Yes, you can do that, quite easily if you have version 6 or 7. A bit harder for 5.
Use ciftostr (link below) to convert the cifs to the topas str format. Then you need to construct a list of str filenames you want to model, and put it into an input file. All strs need to go in the same directory as the inp file.
The inp file looks like:
iters 0
'this is used to create the filename of the str file to load
macro str_file(base) {
base##.str
}
yobs_eqn martin.xy = 1.0; min 10 max 120 del 0.01 'change these values to alter the pattern 2Th range and step size
num_runs 2 'or however many strs you have
#list STR_BASE { 'list all the str filenames here, without the extension
Corundum_1000032
9008621
'... keep going for as many strs as you have
}
#include str_file(STR_BASE(Run_Number)) ' here the str is included into the inp file
Out_X_Ycalc(CIF(Run_Number)##.xy) ' here the XY filename is constructed
for xdds {
'or whatever type of instrument you want to model
CuKa5_Berger(0.00001)
LP_Factor(26.6)
Radius(173)
Full_Axial_Model(12, 15, 12, 4.6, 4.6)
Slit_Width(0.3)
Divergence(1)
bkg 1
}
And example str file would be (this one happens to have the name Corundum_1000032.str):
str
phase_name "Corundum_1000032"
Phase_Density_g_on_cm3( 0)
CS_L( ,200)
MVW(0,0,0)
scale @ 0.0001
Hexagonal(4.76050, 12.9956) '4.76050, 12.9956
space_group "R -3 c :H"
site Al1 num_posns 0 x 0. y 0. z 0.35216 occ Al+3 1. beq 0.147
site O1 num_posns 0 x 0.30668 y 0. z 0.25 occ O-2 1. beq 0.195
When you run the inp file, topas will go through your list, grab each str, calculate a pattern, and write it to file.
Hope this makes sense.
Matthew
ciftostr:
http://topas.dur.ac.uk/unb/forum.php?req=thread&id=752 and
https://pypi.org/project/ciftostr/