Skip to main content

Users guide

All information for users can be found in the user guide webpages applicable for all beamlines.

Useful programs for data processing

Powder diffraction data can be integrated using  DIOPTAS.

Integration of single-crystal data can be performed with CrysAlisPro.

Useful commands on the beamline

GENERAL COMMANDS

# open bliss session to collect data / make scans in a terminal
    exp

 

# position for X-ray beam measurements
    beam()

 

# position for ruby system
    ruby()

 

# open the shutter
    shopen() 

 

# close the shutter
    shclose() 

 

#  generate a new folder
    newsample("sample1")  

 

PRESSURE DRIVER

# Increase membrane pressure relative / absolute
    pace2.setpoint = 2
    umv(pace2_axis,3)
    umvr(pace2_axis,0.4) / umv(pace1_axis,32)
    pace2_axis.sync_hard()

# If pressure controller does not respond or tells that "is running"
    pace1_axis.sync_hard

 

MOTORS

# motors for sample:

   dacz        - vertical sample position

   ceny        - horizontal sample position perpendicular to beam

   cenx       - sample position along beam direction

   dacrot    - omega rotation of sample stage 

 

# motors for prl

   prltx

   prlty

   prltz

 

# motors for undulator gap

   IVU20c

 

# check position of a motor

   wm(motor) 

 

# check positions of all motors

   wa() 

 

# move a motor to an absolute position

   umv(motor, position) 

 

# move a motor (ceny, dacz, prltz etcc.. by a relative value 

   umv(motor, ± step) 

   step: relative step size in mm

 

# scan a motor

   dscan(motor, -n, n, step, expt)

   Motor examples: ceny for the horizontal pos// dacz vertical one // dacrot omega angle

   -n, n: starting and final position. In mm

    step: number of points taken for the scan. Usually 40

    exptexposure time in seconds. Use 0.1

 

# Go to the centre or peak of the scan

   goto_cen()

   goto_peak()

 

# move to XRD position, take a measurement and then move to the ruby position
    beam();oscillation(-3,3,1,1);ruby()

 

# tweak one motor

   twc(motor,step)

   motor = motor name (ceny, dacz, prltz, prlty, prltx, etc,...)

   step= step size in mm

   example twc(cenz,0.005)

 

# tweak two motors 

   twc(motor1,step1, motor2, step2)

   twc(cenz,0.005,dacz,0.005)

 

# tweak three motors

    twc3d(motor1,step1, motor2, step2, motor3, step3)

    twc3d(prly,0.01,prlz,0.01,prlx,0.01)

    twc3d(ceny,0.01,dacz,0.01,cenx,0.01)

 

# save the actual positions of ceny and dacz
    POS1.update()


# go to POS1
    POS1.go()

 

#see saved values for a saved position

   POS1.go()

ALINGING

#  align pinhole
    dscan(cleanh,-0.05,0.05,40,.1);goto_cen();dscan(cleanv,-0.05,0.05,40,.1);goto_cen()

 

#align sample/DAC
    dscan(ceny,-0.1,0.1,40,0.1)
    goto_cen()    goto_click()

    dscan(dacz,-0.1,0.1,40,0.1)
    goto_cen()    goto_click()

 

# Center DAC on goniometer rotation axis (start with small angle ($ =1, increase up to 30)

This macro performs two dscans in ceny at a certain angle of the rotation axis: 

    cendac($,n,exp, automatic=False)  

    $ = angle of goniometer rotation axis (dacrot) in degrees

    n= range of dscan in y axis (cenY0 see above)

    exptexposure time in seconds. Use 0.1

    automatic = False you have to prove the center of the scan by clicking twice in the Flint window

    automatic = True  Bliss finds the center of the scan automatically - still good to verify in Flint what it is doing!

 

# Align goniometer rotation center to X ray beam by turning the DAC 180 degrees

ONLY FOR DAC WITHOUT SAMPLE ENVIRONEMENT!!! NOT FOR HPCRYOSTAT OR RHDACS!!!
This macro performs two dscans in ceny at two angles of the the rotation axis and ($0 and $0+ 180) to correct y position of sample relative to rotation axis of goniometer.

in addition two more dscans at  +$  and -are performed to correct x position of sample relative to rotation axis of goniometer

 centerxy180(n,$,$0,expt, automatic=False)  

   n= range of dscan in y axis (cenY0 see above)

   $ = angle of goniometer rotation axis (dacrot) in degrees

   $0 = starting angle of goniometer rotation axis (dacrot) in degrees

    exptexposure time in seconds. Use 0.1

    automatic = False you have to prove the center of the scan by clicking twice in the Flint window

    automatic = True  Bliss finds the center of the scan automatically - still good to verify in Flint what it is doing!

    example: centerxy180(0.25,30,0,0.1, automatic=False)

 

# ALIGNMENT USING FRIEDEL PAIR REFLECTIONS

Find more info here:  Friedel pair alignment

1.  Define your ROI using a reflection found on Crysalis (xCrysalis, yCrysalis, OmegaCrysalis, size of ROI box)
2.  Run macro that creats 'frini" ROI where your reflection is

    PixelcrysalisToEiger(2306,1863,1,20)      

3. Optimize ceny, dacz and dacrot positions
    dscan(ceny,-.01,.01,20,.1,eiger.roi_counters.counters.frini_avg) 
    goto_click()

4.  Start the Friedel center macro:
    friedel_center(.01,20,0.2,'frini',automatic=False) 

 

COLLECTING

# Collect diffraction
      oscillation(start_angle,stop_angle,angular_step_size, exposure time per step)

      start_angle: more negative value in degree

      stop_angle: more positive value in degree

      angular_step_size: for single-crystal data this is usually 0.5 or 0.25 degrees

                                    for powder diffraction data this corresponds to the angular degree range

      exposurer_time_per_step: in seconds

      example powder diffraction data: oscillation(-5,5,10,1)

      example powder diffraction data: oscillation(-5,5,0.5,0.2)

 

# recall the previous used oscillation macro

       oscillation.run()

 

# take one XRD image over an angular range (3 degrees with 1 second exposure) - (panoramic XRD data) 

       oscillation.one(-1.5, 1.5, 1)

 

# taking a diffraction map (2D)

  oscillation.dmesh(ceny, -0.1, +0.1, 2, dacz, -0.1, +0.1, 2)

  In this way the 9 measures will be collected accordingly to the following grid

  NB looking at the camera ceny is increasing from the right to the left; dacz from the bottom to the top;

   the point N5 will be in the centre (ceny=0, dacz=0)

  • 9
  • 8
  • 7
  • 6
  • 5
  • 4
  • 3
  • 2

 Please note that there is little sense to create a grid with step lower than the size of the beam