SIMPSON 4.1.1 fitting program for REDOR data

Home and Applets > Pulse Sequence > REDOR SIMPSON 4.1.1 Fitting Program

Rotational Echo DOble Resonance, SIMPSON 4.1.1 fitting program

This SIMPSON fitting program extracts the value of the heteronuclear dipole coupling D from redorCN,1.fid.

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          0
  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 progress {} {
  global par
  if ![info exists par(progress)] { set par(progress) -1 }
  incr par(progress)
  set str {"*   " \
           " *  " \
           "  * " \
           "   *" \
           "  * " \
           " *  "}
  return [lindex $str [expr $par(progress)%6]]
}

lappend ::auto_path ./opt
package require opt

proc rms {{save 0}} {
  global par

# simulate REDOR curve
  set f [fsimpson [list \
    [list dipole_1_2_aniso $opt::dipole12]]]

# scale REDOR curve
  fautoscale $f $par(exp) -re
  set rms [frms $f $par(exp) -re]
  if {$save == 1} {
    puts [format " \[%s\] %10.3f" \
      FINAL $rms]

# write simulated REDOR curve to disc
    fsave $f $par(name),$par(index).fid
  } else {
    puts [format " \[%s\] %10.3f %10.3f\015" \
       [progress] $opt::dipole12 $rms]
  }
  flush stdout
  funload $f
  return $rms
}

proc main {} {
  global par mn
  set par(exp) [fload redorCN,1.fid]

  opt::function rms
  puts " Progress dipole12      rms"
     opt::newpar dipole12 600 20 1 1500

     opt::minimize 1.0e-6
     rms 1
}

Solid-state NMR bibliography for:

Aluminum-27
Antimony-121/123
Arsenic-75
Barium-135/137
Beryllium-9
Bismuth-209
Boron-11
Bromine-79/81
Calcium-43
Cesium-133
Chlorine-35/37
Chromium-53
Cobalt-59
Copper-63/65
Deuterium-2
Gallium-69/71
Germanium-73
Gold-197
Hafnium-177/179
Indium-113/115
Iodine-127
Iridium-191/193
Krypton-83
Lanthanum-139
Lithium-7
Magnesium-25
Manganese-55
Mercury-201
Molybdenum-95/97
Neon-21
Nickel-61
Niobium-93
Nitrogen-14
Osmium-189
Oxygen-17
Palladium-105
Potassium-39/41
Rhenium-185/187
Rubidium-85/87
Ruthenium-99/101
Scandium-45
Sodium-23
Strontium-87
Sulfur-33
Tantalum-181
Titanium-47/49
Vanadium-51
Xenon-131
Zinc-67
Zirconium-91
[Contact me] - Last updated February 21, 2020
Copyright © 2002-2024 pascal-man.com. All rights reserved.