Solid-2.0 Documentation---Static Examples
 

 
 
home
Sections
-Spins
-Parameters
-Pulses
---Function List---
-file formats
Examples
-Static
---basic
---2D
---alterSys
---decouple
-Mas
---basic
---2D
---ptop
-C7s
---basic
---2D
---explicit
---rotor
---transfer
-Quadrupoles
---central Trans
 
 
 


Below are several examples of performing the good old recoupling sequence 'post-C7.' This sequence is a fine example demonstrating all the various techniqes and pulse sequences that exsist that are rotor syncronized.

Basic
  • Below is an input file the a basic MAS simulation of 2 CSAs...the crystal file came from the BlochLib distribution.
  • # preforms a simple point-to-point C7 (a 1D FID)

    spins{
        
        #the global options
        numspin 2
        T 1H 0
        T 1H 1
        D 1500 0 1    
    }

    parameters{    

        powder{
            aveType zcw
            thetaStep 233
            phiStep 144
        }        

    #the intergrator step size    
        maxtstep=1e-6

    #number of 1D fid points    
        npts1D=512    

        roeq= Iz    
        detect=Ip    
        filesave=data    
    }


    pulses{

    #our post-C7 sub pulse section
        sub1{    
        #set the rotor angle to the global var
            rotor=rad2deg*acos(1/sqrt(3))
        #post C7 pulse amplitude
            amp=7*wr
            amplitude(amp)
        #phase stepers
            stph=0
            phst=360/7
        #pulse times
            t90=1/amp/4
            t270=3/amp/4
            t360=1/amp
            
        #post C7 loop
            loop(k=1:7)
                1H:pulse(t90, stph)
                1H:pulse(t360, stph+180)
                1H:pulse(t270, stph)
                stph=stph+phst
            end
        }

    #a single fid is concidered point to point
        ptop()

    #set the spinning    
        wr=5000
        rotor=rad2deg*acos(1/sqrt(3))

    #set the detection matrix
        detect(Iz)

    #can use 'reuse' as things parameters are set once
    # in our subsection

        reuse(sub1)

    #collect the fid
        fid()
        savefidtext(simpC7) #save as a text file
    }

        

Here is the generated spectrum




The real 2D experiment
  • In reality it is hard to collect 'one-point' of an fid and have everything function properly, soa basic post-C7 experiment is performed in a 2D fashion

  • # preforms a 'real' experiment
    # for the post-C7 (a series of 2D fids are collected)


    spins{    
        #the global options
        numspin 2
        T 1H 0
        T 1H 1
        C 5000 2134 0 0
        C -5000 2789 0.5 1
        D 1500 0 1    
    }

    parameters{    

        powder{
            aveType zcw
            thetaStep 233
            phiStep 144
        }        

    #the intergrator step size    
        maxtstep=1e-6

    #number of 1D fid points    
        npts1D=512    
    }


    pulses{

    #our post-C7 sub pulse section
        sub1{    
        #set the rotor angle to the global var
            rotor=rad2deg*acos(1/sqrt(3)))
        #post C7 pulse amplitude
            amp=7*wr
            amplitude(amp)
        #phase stepers
            stph=0
            phst=360/7
        #pulse times
            t90=1/amp/4
            t270=3/amp/4
            t360=1/amp
            
        #post C7 loop
            loop(k=1:7)
                1H:pulse(t90, stph)
                1H:pulse(t360, stph+180)
                1H:pulse(t270, stph)
                stph=stph+phst
            end
        }

    #number of 2D points
        fidpt=128

    #collection a matrix of data    
        2D()

    #set the spinning    
        wr=5000

    #the basic rotor angle
        rotor=rad2deg*acos(1/sqrt(3)))

    #set the detection matrix
        detect(Ip)
    #reset the ro back to the eq
        ro(Iz)

    #90 time ampltiudes
        amp=150000
        t90=1/amp/4

    #loop over the fids
        loop(m=0:fidpt-1)
      
        #may use 'reuse' as everything is static in sub1
        # must be repeat m times to advance the desity matrix
        # for each fdi (the first fid gets no c7)

            reuse(sub1, m)

        #pulse the IZ down to the xy plane for detection
            1H:pulse(t90, 270, amp)
       #collect the fid at the 'mth' position
            fid(m)

        #reset the ro back to the eq
            ro(Iz)
        end
        savefidmatlab(2dc7) #save the matlab file
    }

        

Here is the generated spectra




doing a post-C7 explicitly
  • This performs the point-to-point by hand rather then using the internal loop for the ptop...it will be slower then the 'basic' one above
  • # preforms a simple point-to-point C7 (a 1D FID)
    # put rather letting the program do the ptop
    # it does the point collection explicitly
    # this will be slower then simply setting the ptop
    # flag becuase it relies on non-compile code
    # to do the loop....


    spins{
        
        #the global options
        numspin 2
        T 1H 0
        T 1H 1
        D 1500 0 1    
    }

    parameters{    

    #our basic powder average
        powder{
            aveType zcw
            thetaStep 233
            phiStep 144
        }        

    #the intergrator step size    
        maxtstep=1e-6

    #number of 1D fid points    
        npts1D=256    

    }


    pulses{

    #our post-C7 sub pulse section
        sub1{    
        #set the rotor angle
            rotor=rad2deg*acos(1/sqrt(3))
        #post C7 pulse amplitude
            amp=7*wr
            amplitude(amp)
        #phase stepers
            stph=0
            phst=360/7
        #pulse times
            t90=1/amp/4
            t270=3/amp/4
            t360=1/amp
            
        #post C7 loop
            loop(k=1:7)
                1H:pulse(t90, stph)
                1H:pulse(t360, stph+180)
                1H:pulse(t270, stph)
                stph=stph+phst
            end
        }

    #a single fid is concidered point to point
        ptop()

    #set the spinning    
        wr=5000

    #set the detection matrix
        detect(Iz)
        
    #set the density matrix
        ro(Iz)
        loop(i=0:npts1D-1)
        #collect the fid at point i
            fid(i)    
        
        #can use 'reuse' as things need to be set only once
        # in our subsection

            reuse(sub1)

        # do NOT set ro back to equilibrium as
        # we want the last ro to be used for the next point

        end
        savefidtext(simpC7ex) #save as a text file
    }

        

Here is the generated spectrum




post-C7 dependance on rotor angles...
  • this simply collects a bunch of post-C7s at different rotor angles

  • #the multplit spin list
    # preforms a simple post-C7 over
    # different rotor angles


    spins{
        
        #the global options
        numspin 2
        T 1H 0
        T 1H 1
        D 1500 0 1    
    }

    parameters{    

        powder{
            aveType zcw
            thetaStep 233
            phiStep 144
        }        

    #the intergrator step size    
        maxtstep=1e-6

    #number of 1D fid points    
        npts1D=512    
    }


    pulses{

    #our post-C7 sub pulse section
        sub1{    
        #set the rotor angle to the global var
            rotor=myR
        #post C7 pulse amplitude
            amp=7*wr
            amplitude(amp)
        #phase stepers
            stph=0
            phst=360/7
        #pulse times
            t90=1/amp/4
            t270=3/amp/4
            t360=1/amp
            
        #post C7 loop
            loop(k=1:7)
                1H:pulse(t90, stph)
                1H:pulse(t360, stph+180)
                1H:pulse(t270, stph)
                stph=stph+phst
            end
        }
        
        fidpt=32

    #collection a matrix of data    
        2D()

    # concidered point to point
        ptop()

    #set the spinning    
        wr=5000
    # set the rotor angle steps
        rotst=90/fidpt
    #the basic rotor angle
        myR=0

    #set the detection matrix
        detect(Iz)

    #loop over the rotor steps
        loop(m=0:fidpt-1)

        #must use 'use' as the rotor angle changes
            use(sub1)
        #collect the fid at the 'mth' position
            fid(m)
        
        #advance the rotor angle
            myR=myR+rotst
        #reset the ro back to the eq
            ro(Iz)
        end
        savefidmatlab(c7rotor) #save the matlab file
    }

Here are the generated spectra




post-C7 coherence transfer
  • post-C7 is also know for its ability to tranfer coherences between spins. To show this transfer, we simply detect the amount of signal generated on the oposing spin starting when we started with none.


  • #the multplit spin list
    # preforms a simple point-to-point C7 (a 1D FID)
    # and observers the coherence transfer
    # between the two spins...

    spins{
        
        #the global options
        numspin 2
        T 1H 0
        T 13C 1
        D 1500 0 1    
    }

    parameters{    

        powder{
            aveType ../../../../crystals/rep678
        }        

    #the intergrator step size    
        maxtstep=5e-6

    #number of 1D fid points    
        npts1D=256    
        roeq=Iz
    }


    pulses{

    #our post-C7 sub pulse section
        sub1{    
        #set the rotor angle to the global var
            rotor=rad2deg*acos(1/sqrt(3))
        #post C7 pulse amplitude
            amp=7*wr
            amplitude(amp)
        #phase stepers
            stph=0
            phst=360/7
        #pulse times
            t90=1/amp/4
            t270=3/amp/4
            t360=1/amp
            
        #post C7 loop
            loop(k=1:7)
                1H:pulse(t90, stph) | 13C:pulse(t90, stph)
                1H:pulse(t360, stph+180) |13C:pulse(t360, stph+180)
                1H:pulse(t270, stph)| 13C:pulse(t270, stph)
                stph=stph+phst
            end
        }


    #a single fid is concidered point to point
        ptop()

    #set the spinning    
        wr=5000
        rotor=rad2deg*acos(1/sqrt(3))

    #set the ro to all Iz_1 and no Iz_0
        ro(Iz_0)

    #set the detection matrix
    # just detect the first spins
    # increase in its coherence

        detect(-Iz_1)

    #can use 'reuse' as things parameters are set once
    # in our subsection

        reuse(sub1)

    #collect the fid
        fid()
        savefidtext(transC7) #save tas a text file
    }

        

Here is the generated transfer


 
all material copywrite ©2002 LBL
Contact: Bo Blanton