Forum: Forums topas RSS
Magnetic Rietveld Refinement
LiJia Zhou #1
User title: zhoulijia
Member since Mar 2019 · 2 posts · Location: China
Group memberships: Members
Show profile · Link to this post
Subject: Magnetic Rietveld Refinement
Dear all

I follow Magnetic Rietveld Refinement of LaMnO3 example to process my data.
First I used Nuclear + Magnetic Combination
I created a separate magnetic supercell with new a(mag)=a(nuclear), b(mag) = a(nuclear),. c(mag) = 2c(nuclear)
It can be runed, but When I run magnetic data, the following happens:
Error:
Space group P1 is not centrosymmetric
Number of equivalent positions 1
Number of hkls generated for D:\TOPAS-5\sg\pmmm.sg 341
Space group Pmmm is centrosymmetric
Number of equivalent positions 8
Number of hkls generated for D:\TOPAS-5\sg\p1.sg 4228
Magnetic moment mlz of site Co1 cannot be refined as it has no derivative

This is my INP file
This
str
phase_name "nuclear"
space_group "P1"
a !lpa_15  16.645701_0.000191
b !lpb_15  15.253487_0.000184
c lpc_15  3.686826`
al !lpal_15  90.05477_0.00516
be !lpbe_15  89.97054_0.00589
ga !lpga_15  90.03257_0.00700
volume  936.103`
scale scale_nuclear  0.0285600186`
r_bragg  7.3673367
CS_L(@, 36.74702`)
Phase_Density_g_on_cm3( 6.89852`)     

str
phase_name "Phase_1_magnetic"
mag_only_for_mag_sites
mag_space_group P1 
a lpa_15  16.645701_0.000191
b lpb_15  15.253487_0.000184
c  =2*lpc_15;:  7.373652

al !lpal_15  90.05477_0.00516
be !lpbe_15  89.97054_0.00589
ga !lpga_15  90.03257_0.00700
volume  936.103`
scale =scale_nuclear;:  0.0285600186`
r_bragg  100
   CS_L(@, 20.00000`_LIMIT_MIN_0.3)      
 site Co1    A1(!xCo1 , 0.75420 ,0.75142)  A2(!yCo1 ,  0.86543,  0.86190) A3(!z1Co1 ,  0.00805,  0.01289) occ Co   1.000      beq !valCo  0.43764_0.02010
mlx    0.00000 mly 0 mlz  mlzz 0       MM_CrystalAxis_Display( 0.00000, 0.00000, 0.00000) 
……… 
site Co16    A1(!xCo9 , 0.50091 ,0.50075)  A2(!yCo9 ,  0.36968,  0.36981) A3(!z1Co9 ,  0.02375,  0.01726) occ Co   1.000      beq !valCo  0.43764_0.02010
 mlx    0.00000 mly 0 mlz mlzz= mlzz16;: 0      MM_CrystalAxis_Display( 0.00000, 0.00000, 0.00000)

Secound I see point 3 of the mag example at
http://community.dur.ac.uk/john.evans/topas_workshop/tutorial_lamno3_…
I created a separate magnetic supercell with new a(mag)=b(nuclear), b(mag) = a(nuclear), c(mag) = 2c(nuclear).
Question1, I refine the nuclear structure by allowing each of a1 to a204 to refine. Their amplitudes will not be close to zero ,does it mean that our nuclear model is not good?
Question2, I tried to run TOPS and it is feasible,Although the results obtained were not very good. When I want to export its magnetic structure observation, it was not acceptable.I used this command http://topas.dur.ac.uk/topaswiki/doku.php?id=out_cif_mag

Thanks
Lijia
johnsoevans (Administrator) #2
User title: John Evans
Member since Aug 2009 · 219 posts
Group memberships: Administrators, Members
Show profile · Link to this post
One problem is that you don't have any sites in your nuclear structure, just magnetic.
If you try and refine 204 displacive mode amplitudes (equivalent to 204 xyz coordinates) the refinement is very likely to give non zero values as the an parameters will be highly (infinitely) correlated. At the very least some will be describing a floating origin in p1.
LiJia Zhou #3
User title: zhoulijia
Member since Mar 2019 · 2 posts · Location: China
Group memberships: Members
Show profile · Link to this post
Dear john

I tried to add the atomic position in the nuclear phase, and then went to the finishing, it was able to run, but the magnetic information did not run very well, the result was 0. I think there should be a problem with my magnetic structure.
I also encountered a very big problem. I used the idea of symmetric mode to refine it. This method is very effective, but I can't export the magnetic structure model. I am trying to export the magnetic structure model using Out_CIF_mag.

        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);       
                  }   
                  }

 When I enter this macro setting, it is operational, but I can't get the file for the structural model.

Thanks

Lijia
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Go to forum
Not logged in. · Lost password · Register
This board is powered by the Unclassified NewsBoard software, 20120620-dev, © 2003-2011 by Yves Goergen
Current time: 2019-11-22, 08:46:08 (UTC +00:00)