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/09/19 15:18] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| 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 | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | </ | ||