;cp_opt2dcsa (tidied for 850 allocation) ;previously cpcsa6p_opt2cog ;by RMO: see R. M. Orr and M. J. Duer, Journal of Magnetic Resonance, 2006, 181, 1-8. ;2011 April: WYC added comments, stripped Windows linebreaks to get rid of annoying popup ;optimised implementation ;isotropic and anisotropic chemical shift contributions ;based on Tycko et al, J. Magn. Res. 85, pp265 (1989) ;6 pulse sequence ;parameters: ;d1 : recycle delay ;d24 : *auto set ;d25 : *auto set ;d26 : *auto set ;d27 : *auto set ;d28 : *auto set ;d29 : d31 - p2*0.5 ;pl1 : X power level for contact ;pl2 : H power level for contact ;pl11 : X power level for pulses ;pl12 : F2 power level for decoupling ;sp0 : F2 power level for contact ;spnam0 : filename for amplitude modulation ;p1 : X nucleus 90 degree pulse at pl11 ;p2 : X nucleus 180 degree pulse at pl11 ;p3 : proton 90 degree pulse at pl12 ;p15 : contact time ;p31 : TPPM pulse length, ca. 180 degree - 0.2 us ;parmode : 2D ;mc2 : echo-antiecho ;p2 : X 180 degree pulse, must be very precise with good ; probe tuneup (preferrably multipulse tuneup) ;l0 : number of pulse units from VC list ;l1 : = 0 *auto set ;l3 : = 1 *auto set ;d3 : suitable dead time delay ;cnst31 : magic angle spinning frequency ;cnst3 : echo phase *auto set ;cnst4 : antiecho phase *auto set ;ns : cnst2*n ;$COMMENT=2D-CSA experiment with CP ;$CLASS=Solids ;$DIM=2D ;$TYPE=cross polarisation ;$SUBTYPE=2D ;$OWNER=wyc prosol relations= define list Dlist = <$VDLIST> "cnst1=1/cnst31" "p30=p31-0.4u" ;pulse length used in TPPM decoupling "d31=1s/cnst31" define loopcounter count "count=td1/2" "d29=d31 - p2*0.5" "cnst2=(l0-1)*12+18" #include ;protect for misset cnst31, must be >1000 Hz ;to prevent excessive decoupling times #include #include 1 ze Dlist.res 2 20u "d28=(2*cnst1*Dlist) - p2" Dlist.inc "d24=(0.5*d28) + p2" "d27=(cnst1*Dlist) - p2*0.5 - d24" Dlist.inc "d24=d24 + d27 + p2" "d26=(cnst1*Dlist) - p2*0.5 - d24" Dlist.inc "d24=d24 + d26 + p2" "d25=(1.5s*cnst1) - d24" "d24=d25-1u" "l1=0" "l3=1" 9 iu3 ;minor rephrase to run on TS2 lo to 9 times c 3 d1 do:f2 4 10u pl12:f2 pl1:f1 "cnst3=(360/cnst2)*(l1%cnst2)" "cnst4=(360/cnst2)*((l1*(6*l3+2))%cnst2)" 20u ip2 + cnst3 ;selects for N-type (echo) signal 20u ip30 + cnst4 20u iu1 20u p3:f2 ph1 ;90 degree 1H pulse 3u (p15 ph3):f1 (p15:spf0 pl2 ph10):f2 ;cross polarization at pl2 d25 cpds2:f2 pl11:f1 ;pl12 is used here, use pl11 for pi pulses on F1 (p2 ph2):f1 d26 (p2 ph3):f1 d27 (p2 ph2):f1 d28 (p2 ph3):f1 d27 (p2 ph2):f1 d26 (p2 ph3):f1 d25 5 d25 (p2 ph2):f1 d26 (p2 ph3):f1 d27 (p2 ph2):f1 d28 (p2 ph3):f1 d27 (p2 ph2):f1 d26 (p2 ph3):f1 d25 lo to 5 times c d29 (p2 ph2):f1 ;readout pulse d29 go=3 ph31 ph30:r 2m do:f2 ;decoupler off 100m wr #0 if #0 zd "l1=0" 6 d1 do:f2 "cnst3=(360/cnst2)*(l1%cnst2)" "cnst4=(360/cnst2)*((l1*(6*l3+2))%cnst2)" 20u ip2 + cnst3 ;selects for P-type (echo) signal 20u ip30 + cnst4 20u iu1 20u 7 10u pl12:f2 pl1:f1 p3:f2 ph1 ;90 degree 1H pulse 3u (p15 ph3):f1 (p15:spf0 pl2 ph10):f2 ;cross polarization at pl2 d29 cpds2:f2 pl11:f1 ;pl12 is used here, use pl11 for pi pulses on F1 (p2 ph2):f1 d29 d25 (p2 ph3):f1 d26 (p2 ph2):f1 d27 (p2 ph3):f1 d28 (p2 ph2):f1 d27 (p2 ph3):f1 d26 (p2 ph2):f1 d25 8 d25 (p2 ph3):f1 d26 (p2 ph2):f1 d27 (p2 ph3):f1 d28 (p2 ph2):f1 d27 (p2 ph3):f1 d26 (p2 ph2):f1 d25 lo to 8 times c go=6 ph31 ph30:r 2m do:f2 ;decoupler off 100m wr #0 if #0 zd ivc lo to 2 times count HaltAcqu, 1m exit ph1=1 3 ph2=0 ph3=0 ph10=0 ph30=0 ph31=0 2