Hi,
Thanks for your response. The following code seems to be working.
----------------------------------------------------------------------
proc pulseq {} {
global par
maxdt 2.5
set t180 [expr 0.0555e6/$par(spin_rate)]
set tsw [expr 0.222e6/$par(spin_rate)]
set rf $par(rf)
reset
pulse $par(tau) $rf 0 0 0
pulseid 2 0 0 250e3 0
pulse $par(tau) $rf 0 0 0
acq
reset
for {set i 1} {$i < $par(np)} {incr i} {
for {set j 1} {$j <= $i} {incr j} {
pulse $t180 $rf 70 0 0
pulse $t180 $rf -70 0 0
pulse $t180 $rf 70 0 0
pulse $t180 $rf -70 0 0
}
set tdec [expr $par(tau)-$i*$tsw]
pulse $tdec $rf 0 0 0
pulseid 2 0 0 250e3 0
pulse $par(tau) $rf 0 0 0
acq
reset
}
}
----------------------------------------------------------------------
--- In simpson-simmol@yahoogroups.com, John Gehman <jgehman@...> wrote:
>
> Looks to me like it's just a logic problem.
>
> Your code skips the if {} when t1=1, so your first propogator 4 is null,
> but gets time indexed for the beginning of the rotor cycle (equivalent to
> having used "reset 0" before your if {} statment. Your next t1 incr
> executes prop 1 which takes 2 x 5.5 us, but then tries to use prop 4 which
> was calculated to start at the beginning of a rotor period. Hence the
> error.
>
> Cheers
> john
>
>
> > Hello Everyone,
> >
> > I am trying to simulate 1H-15N dipolar lineshape using R18(1,7). I have
> > attached my simpson code at the end. I get the following error message
> > when I run it.
> >
> > ---------------------------------------------------------------------
> > error: a propagator was calculated at time 0usec
> > relative to the start of the rotor period but reused at time 11.1usec.
> > ---------------------------------------------------------------------
> >
> > The rotor period is 100 us (10 kHz spinning speed) and the dwell time is
> > 11.1 us (two 180 pulses at 90 kHz rf field strength)
> > Does this error message have anything to do with dw not being
> > synchronized with the rotor period?
> >
> > Can anyone help?
> >
> > Thanks in advance,
> >
> > Sivakumar
> >
> >
> > Here is my code (I used Example 6, SLF experiment on simpson paper as a
> > template to code this one)
> >
> > ----------------------------------------------------------------------
> > spinsys {
> > channels 1H 15N
> > nuclei 1H 15N
> > dipole 1 2 11800 0 0 0
> > shift 1 0p -1.0p 0.0 0 0 0
> > }
> >
> > par {
> > start_operator I2x
> > detect_operator I2p
> > spin_rate 10000
> > gamma_angles 36
> > crystal_file rep320
> > np 32
> > verbose 1101
> > proton_frequency 599.781541e6
> > variable rf 90000
> > variable tau 800
> > sw 90090.090
> > }
> >
> >
> > proc pulseq {} {
> > global par
> >
> > maxdt 2.5
> >
> > set t180 [expr 0.0555e6/$par(spin_rate)]
> > set tsw [expr 0.111e6/$par(spin_rate)]
> > set rf $par(rf)
> >
> > pulse $t180 $rf 70 0 0
> > pulse $t180 $rf -70 0 0
> > store 1
> >
> > for {set t1 1} {$t1 < $par(np)} {incr t1} {
> > reset
> > if {$t1 > 1} {
> > prop 4
> > prop 1
> > }
> > store 4
> > set tdec [expr $par(tau)-$tsw*($t1-1.0)]
> > pulse $tdec $rf 0 0 0
> > pulseid 2 0 0 250e3 0
> > pulse $par(tau) $rf 0 0 0
> > acq
> > }
> > }
> >
> >
> > proc main {} {
> > global par
> >
> > set f [fsimpson]
> > fsave $f $par(name).fid
> > }
> >
> > --------------------------------------------------------------------
> >
> >
>
>
> --
> John Gehman
> Research Fellow
> School of Chemistry
> Bio21 Institute
> University of Melbourne (Australia)
>