out_cif_mag
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
out_cif_mag [2011/05/23 17:12] – created qlcq27 | out_cif_mag [2025/06/13 12:50] (current) – johnsoevans | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Out_CIF_mag ====== | ||
+ | 13/6/2025 the macro below was created before magnetic cif formats were defined. | ||
+ | If it doesn' | ||
+ | |||
+ | Output a CIF with components of magnetic moments along x, y and z. Note a temporary (18/7/2011) bug in magnetic version of topas means it's best to replace the " | ||
+ | |||
+ | <code topas> | ||
+ | out file | ||
+ | | ||
+ | Out(Get(sp_grp_char), | ||
+ | Out(Get(a), | ||
+ | Out(Get(b), | ||
+ | Out(Get(c), | ||
+ | Out(Get(al), | ||
+ | Out(Get(be), | ||
+ | Out(Get(ga), | ||
+ | |||
+ | Out_String(" | ||
+ | Out_String(" | ||
+ | Out_String(" | ||
+ | Out_String(" | ||
+ | Out_String(" | ||
+ | | ||
+ | |||
+ | Out_String(" | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | atom_out file append | ||
+ | load out_record out_fmt out_eqn | ||
+ | { | ||
+ | " | ||
+ | " %s" = Get_From_String(Get(current_atom), | ||
+ | " %V" = Get_From_String(Get(current_atom), | ||
+ | " %V" = Get_From_String(Get(current_atom), | ||
+ | " %V" = Get_From_String(Get(current_atom), | ||
+ | " %V" = Get_From_String(Get(current_atom), | ||
+ | " %V" = Get_From_String(Get(current_atom), | ||
+ | } | ||
+ | |||
+ | out file append | ||
+ | Out_String(" | ||
+ | Out_String(" | ||
+ | Out_String(" | ||
+ | | ||
+ | | ||
+ | atom_out file append | ||
+ | load out_record out_fmt out_eqn | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | }</ | ||
+ | | ||
+ | 2025 suggestion if vesta crashes is as follows. | ||
+ | |||
+ | <code topas> | ||
+ | Out_String(" | ||
+ | Out_String(" | ||
+ | Out_String(" | ||
+ | Out_String(" | ||
+ | Out_String(" | ||
+ | Out(Get(mag_sp_xyzs_txt), | ||
+ | </ | ||
+ | |||
+ | with: | ||
+ | |||
+ | <code topas> | ||
+ | Out_String(" | ||
+ | Out_String(" | ||
+ | Out_String(" | ||
+ | Out(Get(mag_sp_xyzs_txt_with_id), | ||
+ | </ | ||
+ | |||
+ | Then, in the resulting cif, this output section needs to be modified by removing the mx,my,mz sections and adding a comma between the x,y,z part and the time reversal operator. | ||
+ | |||
+ | For example, this: | ||
+ | |||
+ | <code topas> | ||
+ | loop_ | ||
+ | _space_group_symop_magn_operation.id | ||
+ | _space_group_symop_magn_operation.xyz | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | becomes this: | ||
+ | |||
+ | <code topas> | ||
+ | loop_ | ||
+ | _space_group_symop_magn_operation.id | ||
+ | _space_group_symop_magn_operation.xyz | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||