Rotational Echo DOble Resonance, SIMPSON 4.1.1 program
*** Outline ***
(1) redorIx
The first simulated signal amplitude in the resulting file provided by this SIMPSON program is S0. The second signal amplitude is that of two-rotor-period REDOR experiment.
spinsys { channels 13C 15N nuclei 13C 15N dipole 1 2 895 10 20 30 shift 1 10p 100p 0.5 50 20 10 } par { variable index 1 np 32 spin_rate 10000 proton_frequency 400e6 start_operator I1x detect_operator I1p method direct crystal_file rep320 gamma_angles 18 sw spin_rate/2 variable tsw 1e6/sw verbose 1101 variable rfF1 50000 variable rfF2 50000 variable t180F1 0.5e6/rfF1 variable t180F2 0.5e6/rfF2 variable tr1 0.5e6/spin_rate-0.5*t180F1-0.5*t180F2 variable tr2 0.5e6/spin_rate-t180F2 } proc pulseq {} { global par reset delay $par(tr2) pulse $par(t180F2) 0 x $par(rfF2) x delay $par(tr2) pulse $par(t180F2) 0 x $par(rfF2) y store 1 reset acq delay $par(tr2) pulse $par(t180F2) 0 x $par(rfF2) x delay $par(tr1) pulse $par(t180F1) $par(rfF1) x 0 x delay $par(tr1) pulse $par(t180F2) 0 x $par(rfF2) x delay $par(tr2) pulse $par(t180F2) 0 x $par(rfF2) y store 2 acq for {set i 2} {$i < $par(np)} {incr i} { reset prop 1 prop 2 prop 1 store 2 acq } } proc main {} { global par set f [fsimpson] fsave $f $par(name),$par(index).fid }
References
M. Bak, J. T. Rasmussen, and N. C. Nielsen, SIMPSON: a general simulation program for solid-state NMR.
(2) redorIz
The first simulated signal amplitude in the resulting file provided by this SIMPSON program is that of two-rotor-period REDOR experiment.
spinsys { channels 13C 15N nuclei 13C 15N dipole 1 2 895 10 20 30 shift 1 10p 100p 0.5 50 20 10 } par { variable index 1 np 32 spin_rate 10000 proton_frequency 400e6 start_operator I1z detect_operator I1p method direct crystal_file rep320 gamma_angles 18 sw spin_rate/2 variable tsw 1e6/sw verbose 1101 variable rfF1 50000 variable rfF2 50000 variable t180F1 0.5e6/rfF1 variable t90F1 0.25e6/rfF1 variable t180F2 0.5e6/rfF2 variable tr 1e6/spin_rate variable de 0 variable d25 tr/4 variable d26 tr/4-t180F2/2 variable d27 tr/4-t180F1/2 variable d28 tr/4-de } proc pulseq {} { global par for {set i 0} {$i < $par(np)} {incr i} { reset pulse $par(t90F1) $par(rfF1) y 0 0 delay $par(d25) for {set j 0} {$j < 2*$i+1} {incr j} { delay $par(d26) pulse $par(t180F2) 0 0 $par(rfF2) [expr 90*($j % 2)] delay $par(d26) } delay $par(d27) pulse $par(t180F1) $par(rfF1) x 0 0 delay $par(d27) for {set j 0} {$j < 2*$i+1} {incr j} { delay $par(d26) pulse $par(t180F2) 0 0 $par(rfF2) [expr 90*($j % 2)] delay $par(d26) } delay $par(d26) pulse $par(t180F2) 0 0 $par(rfF2) y acq } } proc main {} { global par set f [fsimpson] fsave $f $par(name),$par(index).fid }
(3) redorAlP
spinsys { channels 27Al 31P nuclei 27Al 31P dipole 1 2 -439 10 20 30 quadrupole 1 2 3e6 1 0 0 0 } par { variable index 1 np 32 spin_rate 10000 proton_frequency 500e6 start_operator I1z detect_operator I1c method direct crystal_file rep66 gamma_angles 5 sw spin_rate/2 variable tsw 1e6/sw verbose 1101 variable rfF1 50000 variable rfF2 50000 variable t180F1 4.7 variable t90F1 2.2 variable t180F2 0.5e6/rfF2 variable tr 1e6/spin_rate variable de 0 variable d25 tr/4 variable d26 tr/4-t180F2/2 variable d27 tr/4-t180F1/2 variable d28 tr/4-de } proc pulseq {} { global par for {set i 0} {$i < $par(np)} {incr i} { reset pulse $par(t90F1) $par(rfF1) y 0 0 delay $par(d25) for {set j 0} {$j < 2*$i+1} {incr j} { delay $par(d26) pulse $par(t180F2) 0 0 $par(rfF2) [expr 90*($j % 2)] delay $par(d26) } delay $par(d27) pulse $par(t180F1) $par(rfF1) x 0 0 delay $par(d27) for {set j 0} {$j < 2*$i+1} {incr j} { delay $par(d26) pulse $par(t180F2) 0 0 $par(rfF2) [expr 90*($j % 2)] delay $par(d26) } delay $par(d28) acq } } proc main {} { global par set f [fsimpson] fsave $f $par(name),$par(index).fid }