Note that there may be mistakes in the following and/or smarter ways of doing this.
Thus the following should not be considered a substitute for thinking for yourself.
Suggestions and improvements greatfully received.
The main idea here is to create GSAS macro files that can be created in a relatively easy manner and imported into GSAS using the @r "use macro" command or using the standard Linux or Windows paste command. Most of this can be setup in your favourite spreadsheet program. The benefits of this is that changes and recalculations can be quickly made in the spreadsheet program; checked, then passed onto GSAS. The following assumes you have pretty much done a Le Bail fit to the data and are at the stage where atomic positions and constraints have to the added to the EXP file. Optimal weighting and refinement strategy is something that may have to be optimised for the particular sample you are dealing with. For example, some GSAS options that may be helpful:
Also refer to:
We will be using Crystals to perform DLS and generate the bond length restraints so it is important the the atom number systems match as will be described below.
WinCRYSTALS 2000 (Crystals for Windows Single Crystal Suite) - David Watkin
Click here to download a zipped up file of the Excel macro, crystals files and resulting macro files For this demonstration, we will go through a quick runthrough on creating the following macro files:
|
Creating the Atom Co-ordinates files for GSAS and CrystalsThe following is using a calculated idealised starting structure; however where you obtain your starting structure (in terms of this tutorial) is not that important. Edit the starting structure in a spread-sheet of your choice. In the following screen dump Excel is being used. (to stop the auto-corrector changing lower case "i" to upper case "I", go into Tools, Autocorrect and change the defaults (get rid of them all). Instruct the spreadsheet to have the coordinates out to 5 decimal places as this is what GSAS requires to distinguish special positions (e.g., 0.66667 = 2/3) Unless there is a better way in Excel, the freeware PFE editor is used to merge the Atom Name and number (replace "tab" with "blank/no character" using the F3 key).
|
Resulting Co-ordinates filesGSAS(Remember to remove all tab characters from the text file and replace them with spaces - CCP14 Mirror: PFE Text Editor)i 1 Ti 0.23500 0.00000 0.04100 1 Ti1 i 0.025 i 2 Fe 0.23500 0.00000 0.04100 0 Fe2 i 0.025 i 3 Ti 0.25500 0.00000 0.10400 1 Ti3 i 0.025 i 4 Fe 0.25500 0.00000 0.10400 0 Fe4 i 0.025 i 5 Ti 0.10500 0.00000 0.16600 1 Ti5 i 0.025 i 6 Fe 0.10500 0.00000 0.16600 0 Fe6 i 0.025 i 7 Ti 0.03500 0.00000 0.28100 1 Ti7 i 0.025 i 8 Fe 0.03500 0.00000 0.28100 0 Fe8 i 0.025 i 9 Ti 0.19000 0.00000 0.39400 1 Ti9 i 0.025 i 10 Fe 0.19000 0.00000 0.39400 0 Fe10 i 0.025 i 11 Ti 0.20500 0.00000 0.45900 1 Ti11 i 0.025 i 12 Fe 0.20500 0.00000 0.45900 0 Fe12 i 0.025 i 13 Ti 0.05000 0.00000 0.52200 1 Ti13 i 0.025 i 14 Fe 0.05000 0.00000 0.52200 0 Fe14 i 0.025 i 15 Ti 0.13000 0.00000 0.57400 1 Ti15 i 0.025 i 16 Fe 0.13000 0.00000 0.57400 0 Fe16 i 0.025 i 17 Ti 0.09500 0.00000 0.62600 1 Ti17 i 0.025 i 18 Fe 0.09500 0.00000 0.62600 0 Fe18 i 0.025 i 19 Ti 0.28000 0.00000 0.68700 1 Ti19 i 0.025 i 20 Fe 0.28000 0.00000 0.68700 0 Fe20 i 0.025 i 21 Ti 0.00500 0.00000 0.66800 1 Ti21 i 0.025 i 22 Fe 0.00500 0.00000 0.66800 0 Fe22 i 0.025 i 23 Ti 0.30500 0.00000 0.75200 1 Ti23 i 0.025 i 24 Fe 0.30500 0.00000 0.75200 0 Fe24 i 0.025 i 25 Ti 0.04500 0.00000 0.77400 1 Ti25 i 0.025 i 26 Fe 0.04500 0.00000 0.77400 0 Fe26 i 0.025 i 27 Ti 0.16000 0.00000 0.81400 1 Ti27 i 0.025 i 28 Fe 0.16000 0.00000 0.81400 0 Fe28 i 0.025 i 29 Ti 0.00500 0.00000 0.87700 1 Ti29 i 0.025 i 30 Fe 0.00500 0.00000 0.87700 0 Fe30 i 0.025 i 31 Ti 0.09000 0.00000 0.92800 1 Ti31 i 0.025 i 32 Fe 0.09000 0.00000 0.92800 0 Fe32 i 0.025 i 33 Ti 0.05000 0.00000 0.97900 1 Ti33 i 0.025 i 34 Fe 0.05000 0.00000 0.97900 0 Fe34 i 0.025 i 35 O 0.13500 0.00000 0.01100 1 O35 i 0.025 i 36 O 0.06000 0.00000 0.04900 1 O36 i 0.025 i 37 O 0.07000 0.00000 0.09500 1 O37 i 0.025 i 38 O 0.17000 0.00000 0.13400 1 O38 i 0.025 i 39 O 0.41500 0.00000 0.02000 1 O39 i 0.025 i 40 O 0.33500 0.00000 0.07200 1 O40 i 0.025 i 41 O 0.44000 0.00000 0.12400 1 O41 i 0.025 i 42 O 0.28500 0.00000 0.18700 1 O42 i 0.025 i 43 O 0.02500 0.00000 0.19600 1 O43 i 0.025 i 44 O 0.14000 0.00000 0.24900 1 O44 i 0.025 i 45 O 0.16500 0.00000 0.31300 1 O45 i 0.025 i 46 O 0.08500 0.00000 0.36500 1 O46 i 0.025 i 47 O 0.02000 0.00000 0.45000 1 O47 i 0.025 i 48 O 0.35000 0.00000 0.37300 1 O48 i 0.025 i 49 O 0.27000 0.00000 0.42700 1 O49 i 0.025 i 50 O 0.39500 0.00000 0.47800 1 O50 i 0.025 i 51 O 0.11500 0.00000 0.48900 1 O51 i 0.025 i 52 O 0.23500 0.00000 0.54100 1 O52 i 0.025 i 53 O 0.26500 0.00000 0.60600 1 O53 i 0.025 i 54 O 0.00100 0.00000 0.59500 1 O54 i 0.025 i 55 O 0.18500 0.00000 0.65900 1 O55 i 0.025 i 56 O 0.10000 0.00000 0.69700 1 O56 i 0.025 i 57 O 0.12000 0.00000 0.74300 1 O57 i 0.025 i 58 O 0.45000 0.00000 0.66700 1 O58 i 0.025 i 59 O 0.38000 0.00000 0.71900 1 O59 i 0.025 i 60 O 0.51000 0.00000 0.77200 1 O60 i 0.025 i 61 O 0.22500 0.00000 0.78200 1 O61 i 0.025 i 62 O 0.34000 0.00000 0.83400 1 O62 i 0.025 i 63 O 0.08000 0.00000 0.84400 1 O63 i 0.025 i 64 O 0.20000 0.00000 0.89600 1 O64 i 0.025 i 65 O 0.22000 0.00000 0.96100 1 O65 i 0.025
Crystals(Remember to remove all tab characters from the text file and replace them with spaces - CCP14 Mirror: PFE Text Editor)#QUICKSTART CELL 9.95116 3.744 59.7 90 92 90 SPACEGROUP C 2/M CONTENT Ti 40 Fe 40 O 90 DATA 1.54056 FSQ FILE NKET.REF FORMAT (3F4.0, 2F8.2 ) END #LIST 5 READ NATOM = 65 ATOM Ti 1 X= 0.23500 0.00000 0.04100 ATOM Fe 2 X= 0.23500 0.00000 0.04100 ATOM Ti 3 X= 0.25500 0.00000 0.10400 ATOM Fe 4 X= 0.25500 0.00000 0.10400 ATOM Ti 5 X= 0.10500 0.00000 0.16600 ATOM Fe 6 X= 0.10500 0.00000 0.16600 ATOM Ti 7 X= 0.03500 0.00000 0.28100 ATOM Fe 8 X= 0.03500 0.00000 0.28100 ATOM Ti 9 X= 0.19000 0.00000 0.39400 ATOM Fe 10 X= 0.19000 0.00000 0.39400 ATOM Ti 11 X= 0.20500 0.00000 0.45900 ATOM Fe 12 X= 0.20500 0.00000 0.45900 ATOM Ti 13 X= 0.05000 0.00000 0.52200 ATOM Fe 14 X= 0.05000 0.00000 0.52200 ATOM Ti 15 X= 0.13000 0.00000 0.57400 ATOM Fe 16 X= 0.13000 0.00000 0.57400 ATOM Ti 17 X= 0.09500 0.00000 0.62600 ATOM Fe 18 X= 0.09500 0.00000 0.62600 ATOM Ti 19 X= 0.28000 0.00000 0.68700 ATOM Fe 20 X= 0.28000 0.00000 0.68700 ATOM Ti 21 X= 0.00500 0.00000 0.66800 ATOM Fe 22 X= 0.00500 0.00000 0.66800 ATOM Ti 23 X= 0.30500 0.00000 0.75200 ATOM Fe 24 X= 0.30500 0.00000 0.75200 ATOM Ti 25 X= 0.04500 0.00000 0.77400 ATOM Fe 26 X= 0.04500 0.00000 0.77400 ATOM Ti 27 X= 0.16000 0.00000 0.81400 ATOM Fe 28 X= 0.16000 0.00000 0.81400 ATOM Ti 29 X= 0.00500 0.00000 0.87700 ATOM Fe 30 X= 0.00500 0.00000 0.87700 ATOM Ti 31 X= 0.09000 0.00000 0.92800 ATOM Fe 32 X= 0.09000 0.00000 0.92800 ATOM Ti 33 X= 0.05000 0.00000 0.97900 ATOM Fe 34 X= 0.05000 0.00000 0.97900 ATOM O 35 X= 0.13500 0.00000 0.01100 ATOM O 36 X= 0.06000 0.00000 0.04900 ATOM O 37 X= 0.07000 0.00000 0.09500 ATOM O 38 X= 0.17000 0.00000 0.13400 ATOM O 39 X= 0.41500 0.00000 0.02000 ATOM O 40 X= 0.33500 0.00000 0.07200 ATOM O 41 X= 0.44000 0.00000 0.12400 ATOM O 42 X= 0.28500 0.00000 0.18700 ATOM O 43 X= 0.02500 0.00000 0.19600 ATOM O 44 X= 0.14000 0.00000 0.24900 ATOM O 45 X= 0.16500 0.00000 0.31300 ATOM O 46 X= 0.08500 0.00000 0.36500 ATOM O 47 X= 0.02000 0.00000 0.45000 ATOM O 48 X= 0.35000 0.00000 0.37300 ATOM O 49 X= 0.27000 0.00000 0.42700 ATOM O 50 X= 0.39500 0.00000 0.47800 ATOM O 51 X= 0.11500 0.00000 0.48900 ATOM O 52 X= 0.23500 0.00000 0.54100 ATOM O 53 X= 0.26500 0.00000 0.60600 ATOM O 54 X= 0.00100 0.00000 0.59500 ATOM O 55 X= 0.18500 0.00000 0.65900 ATOM O 56 X= 0.10000 0.00000 0.69700 ATOM O 57 X= 0.12000 0.00000 0.74300 ATOM O 58 X= 0.45000 0.00000 0.66700 ATOM O 59 X= 0.38000 0.00000 0.71900 ATOM O 60 X= 0.51000 0.00000 0.77200 ATOM O 61 X= 0.22500 0.00000 0.78200 ATOM O 62 X= 0.34000 0.00000 0.83400 ATOM O 63 X= 0.08000 0.00000 0.84400 ATOM O 64 X= 0.20000 0.00000 0.89600 ATOM O 65 X= 0.22000 0.00000 0.96100 END |
Importing the structure into Crystals to perform DLS and Generate lists of Bond LengthsCopy the nket.ref HKL reflection file to be used as a dummy HKL file for DLS into the directory.Run Crystals and set the working directory using File, New Working Dir
|
Import the above created Crystals structure file (e.g., named crystruc.txt) into Crystals
by the command:
#use crystruc.txt This also gives you the added advantage of being able to look at the structure in Cameron and check out how the structure fills the Cell. If you find the structure redrawing is slowing you down, there are hints on how to negate this for the purpose of performing DLS and bond-length angle analysis by referring to How to instruct Crystals to stop auto-updating of the model window
|
Now tell Crystals that you do not want to use the HKL data (but it still needs this
to prepare some initialisation files for DLS)
#script inlist23 When prompted with: Do you wish to use LIST 6 reflections? (keyword [YES]) Type NO and continue on to finish the script.
|
Generating Bond Lengths for use in GSAS or to base the DLS onAn important point here is to not use "TYPE=INTRA" as you want to obtain all the equivalent bonds around the metals.
(The above could also be put into a txt file then be called using the #use command in Crystals) Again: some Crystals options will not find all the bonds so you have to be wary of this: e.g., SELECT TYPE=INTRA RANGE=LIMITS may only find what Crystals considers to be the intramolecular bonds optimised for a discreet molecule - despite this is an extended polymeric framework.
If you wish to use this as the basis for DLS, don't forget to fix the origin and put shift limiting restraints in the top of the resulting Crystals LIST 16 bond length and angles file. orig x orig y orig z limit 0.01 x limit 0.01 y limit 0.01 z Crystals is instructed to refine the atomic positions of the restrained atoms using the following:
#list 12 block x's end(Also refer to the various Crystals tutorials on performing DLS and obtaining bond-lengths and angle information (Setting up Crystals to perform DLS (Distance Least Squares) on a simple Inorganic Structure; Using Crystals to optimise an organic model and graphically generate bond/angle and planar restraints for Rietveld programs)) |
Resulting Crystals Bond Lengths filesYou can now globally replace or tweak the bond lengths before conversion into GSAS Script format using Scott Belmonte's GPL'd Coue program for converting Crystals bond-length restraints lists into GSAS macro format. Check the result to make sure they do match up. Be wary that you may have to play with the "R" - Set the distance search range as part of the bond-length restraints menu in GSAS. In this case, setting r=1.5 will get GSAS finding all the bonds correctly. Make sure you check the results and that everything is working as required
Crystals FormatAgain: Be wary that the some Crystals options will not find all the bonds so you have to be wary of this: e.g., SELECT TYPE=INTRA RANGE=LIMITS may only find what Crystals considers to be the intramolecular bonds optimised for a discreet molecule - despite this is an extended polymeric framework.
GSAS Macro Format using Scott Belmonte's "coue" software to convert from Crystals to GSAS format(Again: be wary that you may have to play with the "R" - Set the distance search range as part of the bond-length restraints menu in GSAS. In this case, setting r=1.5 will get GSAS finding all the bonds correctly. Make sure you check the results and that everything is working as required)
|
Dual atom occupancy constraints for the metal sites: for phase 1The following is a general macro - and a bit over the top here as in this structure, the Y positions are special. But this can be thus edited down. Using EXCEL, just setup the multipliers and "Edit, Paste" them.
(Remember to remove all tab characters from the text file and replace them with spaces - CCP14 Mirror: PFE Text Editor)
|
Total cell contents restraints macro file: for phase 1If starting from an idealised structure where the composition is correct, GSAS will output the "idealised" composition in comparision to your input.
(Remember to remove all tab characters from the text file and replace them with spaces - CCP14 Mirror: PFE Text Editor)
|