;cnst9: B1MAX of cw irradiation [Hz] ;cnst10: duration of cw irradiation [ms] ;cnst11: offset-1 [Hz] relative to O1P ;cnst12: offset-2 [Hz] relative to O1P ;cnst13: offset-3 [Hz] relative to O1P ; DOSY pulse sequence: the 2nd echo of oneshot is converted into dispel ; Developed by: ; NMR Methodolgy Group ; University of Manchester ; ;$CLASS=HighRes ;$DIM=2D ;$TYPE= ;$SUBTYPE= ;$COMMENT= #include #include #include define list diff= ;DISPEL-related calculations: "DELTA1=8500u-d16-p30-p1" "DELTA2=3950u-p3-d16-p16" "DELTA3=1100u-p3-d16-p16" "DELTA4=2100u-p3-d16-p16" "DELTA5=8500u-3950u-1100u-2100u-(p2/2)-d16-p16" "DELTA15=8500u-3950u-1100u-2100u-(p2/2)" "DELTA6=3200u-p3-d16-p16" "DELTA7=1560u-p3-d16-p16" "DELTA8=2390u-p3-d16-p16" ;DOSY-related calculations: "cnst14=0.2" "cnst15=1+cnst14" ; 1 + alpha "cnst16=1-cnst14" ; 1 - alpha "cnst17=(2*p1+d16)*0.000001"; Dtau "cnst18=0.000001*p30*2*0.000001*p30*2*(d20 - (2*0.000001*p30*(5-3*cnst14*cnst14)/16) - (cnst17*(1-cnst14*cnst14)/2) )" ; Dosytimecubed (half-sine gradient pulses) "DELTA11=d20-4.0*p1-4.0*p30-5.0*d16-p19-DELTA1" ;diffusion delay ;General calculations: "p2=p1*2" "d12=20u" "d11=30m+1s/(cnst10+0.1)-1s/(cnst10+0.1)" "d11=30m+1s/(cnst11+0.1)-1s/(cnst11+0.1)" "d11=30m+1s/(cnst12+0.1)-1s/(cnst12+0.1)" "d11=30m+1s/(cnst13+0.1)-1s/(cnst13+0.1)" "d11=30m+1s/(cnst9+0.1)-1s/(cnst9+0.1)" "d11=30ms" "d10=d1-p18" "acqt0=-p1*2/3.1416" 1 ze 2 30m 50u BLKGRAMP if "cnst1 == 1" ;Purge pulses { 50u UNBLKGRAMP 50u pl1:f1 p16:gp11 d16 (p1 ph20):f1 (p1 ph21):f1 p16:gp22 d16 50u BLKGRAMP } else { } 50u LOCKH_OFF d12 pl0:f1 d10 4u p18:sp6:f1 ph29 4u d12 pl1:f1 50u LOCKH_ON 30u pl1:f1 pl2:f2 50u UNBLKGRAMP p19:gp2*-1.0 ;Spoiler gradient balancing pulse d16 (p1 ph1):f1 p30:gp1*diff*cnst16 ;1 - a d16 (p2 ph2):f1 p30:gp1*-1*diff*cnst15 ;1 + a d16 (p1 ph3):f1 p30:gp1*diff*2*cnst14 ;Lock refocusing pulse pulse (2a) d16 p19:gp2 ;Spoiler gradient balancing pulse d16 DELTA11 p30:gp1*diff*2*cnst14 ;Lock refocusing pulse pulse(2a) d16 (p1 ph4):f1 DELTA1 p30:gp1*diff*cnst16 ;1 - a d16 (p2 ph5):f1 p30:gp1*-1*diff*cnst15 ;1 + a d16 DELTA1 (p1 ph6):f1 ;satellite suppression DELTA2 p16:gp3*7 d16 (p3 ph8):f2 p16:gp3*-4 d16 DELTA3 (p3 ph9):f2 p16:gp3*-2 d16 DELTA4 (p3 ph10):f2 p16:gp3*-1 d16 DELTA5 (p2 ph7):f1 DELTA15 DELTA6 p16:gp4*3 d16 (p3 ph11):f2 p16:gp4*-2 d16 DELTA7 (p3 ph12):f2 p16:gp4*-1 d16 if "cnst7 == 1" ;z-filter { DELTA8 (p1 ph14):f1 10u gron0 pl0:f1 (p32:sp29 ph15):f1 20u groff d16 pl1:f1 p16:gp5 d17 BLKGRAMP (p1 ph16):f1 } else { DELTA8 BLKGRAMP } go=2 ph31 30m mc #0 to 2 F1QF(igrad diff) 50u LOCKH_OFF exit ph1 =0 2 ph2 =0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ph3 =0 ph4 =0 0 2 2 1 1 3 3 ph5 =0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ph6 =1 1 1 1 0 0 0 0 ph7 =0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 ph8 =0 2 ph9 =0 0 2 2 ph10=0 0 0 0 2 2 2 2 ph11=0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 ph12=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ph14=0 0 2 2 1 1 3 3 ph15=0 ph16=0 ph20=0 ph21=1 ph29=0 1 ph31=0 2 0 2 0 2 0 2 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 0 2 0 2 0 2 0 2 2 0 2 0 2 0 2 0 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 2 0 2 0 2 0 2 0 ;WAVEMAKER: (presaturation set up) ;sp6:wvm:pm_cw3:f1 cw(cnst10 ms, cnst11 Hz; B1MAX=cnst9 Hz) cw(cnst10 ms, cnst12 Hz; B1MAX=cnst9 Hz) cw(cnst10 ms, cnst13 Hz; B1MAX=cnst9 Hz) ofs=0.0ppm BS=1 ;POWER LEVEL ;pl0 : 0W ;pl1 : f1 channel - power level for pulse (default) ;pl2 : f2 channel - power level for pulse (default) ;sp29: f1 channel - power level of adiabatic pulse of ZQF element ;PULSE SHAPE ;spnam29 : f1 channel - file name for the adiabatic shaped pulse using in ZQF [Crp60,20,20.10] ;spnam6 : f1 channel - file name for the pw irradiation ;PULSE DURATION ;p1 : f1 channel - 90 degree high power pulse ;p2 : f1 channel - 180 degree high power pulse ;p3 : f2 channel - 90 degree high power pulse ;p18: f1 channel - duration of cw irradiation ;p32: f1 channel - 180 degree shaped pulse (adiabatic) [20 msec] ;GRADIENT DURATION ;p16: duration of CTP gradients [0.5 msec] ;p19: duration of spoil gradient [0.6 msec] ;p30: gradient pulse (little DELTA*0.5) ;DELAY ;d1 : relaxation delay; (longer than duration of cw pulse) ;d16: delay for gradient recovery [500usec] ;d17: delay for gradient recovery in ZQf [20msec] ;d20: diffusion time (big DELTA) ;CONSTANTS ;cnst1 : 0 (--) / 1 (without purge pulses (SR) / with purge pulses) ;cnst7: 0 (--) / 1 (without ZQF / with ZQF) ;cnst14: alpha, typically 0.2 ;cnst15: 1+alpha ;cnst16: 1-alpha ;cnst17: Dtau ;cnst18: dosytimecubed ;GRADIENT SHAPE ;gpnam1: SINE.100 ;gpnam2: SMSQ10.100 ;gpnam3: SMSQ10.100 ;gpnam4: SMSQ10.100 ;gpnam5: SMSQ10.100 ;gpnam11: SMSQ10.100 ;gpnam22: SMSQ10.100 ;GRADIENT STRENGTH ;gpz0: ZQF gradient [3%] ;gpz1: diffusion encoding gradient [100%] ;gpz2: spoiler gradient [77%] ;gpz3: CTP LPF gradient [5%] ;gpz4: CTP LPF gradient [7%] ;gpz5: homospoil gradient [43%] ;gpz11 : SR gradients [53%] ;gpz22 : SR gradients [59%] ;OTHER ;ns: number of scans (32*n) ;ds: number of dummy scans ;td1:number of experiments ;FnMODE: QF ; use, gradient value gpz1: 100 and gpz7 : 100 ;use AU-program dosy to calculate gradient ramp-file Difframp