Warning: Trying to access array offset on value of type null in /home/site/wwwroot/lib/plugins/move/action/rename.php on line 42

Warning: Cannot modify header information - headers already sent by (output started at /home/site/wwwroot/lib/plugins/move/action/rename.php:42) in /home/site/wwwroot/inc/common.php on line 1955

Warning: Cannot modify header information - headers already sent by (output started at /home/site/wwwroot/lib/plugins/move/action/rename.php:42) in /home/site/wwwroot/inc/actions.php on line 38
out_cif_mag [topas wiki]

User Tools

Site Tools


out_cif_mag

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
out_cif_mag [2011/05/23 17:12] – created qlcq27out_cif_mag [2022/11/03 15:08] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +====== Out_CIF_mag ======
 +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 "%11.5f" formats of the last 3 lines with "%V".
  
 +<code topas> macro Out_CIF_mag(file) {
 + out file
 +  Out_String("data_topas_output")
 + Out(Get(sp_grp_char), "\n\n_mag_space_group_BNS_number %s")
 + Out(Get(a), "\n_magnetic_cell_length_a  %V")
 + Out(Get(b), "\n_magnetic_cell_length_b  %V")
 + Out(Get(c), "\n_magnetic_cell_length_c  %V")
 + Out(Get(al), "\n_magnetic_cell_angle_alpha %V")
 + Out(Get(be), "\n_magnetic_cell_angle_beta  %V")
 + Out(Get(ga), "\n_magnetic_cell_angle_gamma %V")
 +
 + Out_String("\n\nloop_")
 + Out_String("\n_magnetic_space_group_symop_id")
 + Out_String("\n_magnetic_space_group_symop_operation_xyz")
 + Out_String("\n_magnetic_space_group_symop_operation_mxmymz")
 + Out_String("\n_magnetic_space_group_symop_operation_timereversal")
 +  Out(Get(mag_sp_xyzs_txt),  "%s")
 +
 + Out_String("\n\nloop_")
 +                 Out_String("\n_magnetic_atom_site_label")
 +                 Out_String("\n_magnetic_atom_site_type_symbol")
 +                 Out_String("\n_magnetic_atom_site_fract_x")
 +                 Out_String("\n_magnetic_atom_site_fract_y")
 +                 Out_String("\n_magnetic_atom_site_fract_z")
 +                 Out_String("\n_magnetic_atom_site_occupancy")
 +                 Out_String("\n_magnetic_atom_site_B_iso_or_equiv")
 + atom_out file append
 + load out_record out_fmt out_eqn
 +                 {
 + "\n%s" = Get_From_String(Get(current_atom), site);
 + " %s" = Get_From_String(Get(current_atom), atom);
 + " %V" = Get_From_String(Get(current_atom), x);
 + " %V" = Get_From_String(Get(current_atom), y);
 +         " %V" = Get_From_String(Get(current_atom), z);
 +         " %V" = Get_From_String(Get(current_atom), occ);
 +         " %V" = Get_From_String(Get(current_atom), beq);
 +                 }
 +
 +                  out file append      
 + Out_String("\n\nloop_")
 + Out_String("\n_magnetic_atom_site_label")
 + Out_String("\n_magnetic_atom_site_moment_crystalaxis_mx")
 +                 Out_String("\n_magnetic_atom_site_moment_crystalaxis_my")
 +                 Out_String("\n_magnetic_atom_site_moment_crystalaxis_mz")
 + atom_out file append
 + load out_record out_fmt out_eqn
 +                 {
 + "\n%s" = Get_From_String(Get(current_atom), site);
 + "%11.5f" = Get(a) Get_From_String(Get(current_atom), mlx);        
 + "%11.5f" = Get(b) Get_From_String(Get(current_atom), mly);        
 +          "%11.5f" = Get(c) Get_From_String(Get(current_atom), mlz);        
 +                  }
 +                  }</code>