Skip to main content

Bent Laue Monochromators X-ray Optics

Project description

BLXO (Bent Laue X-ray Optics)

Installation

Option 1

pip install blxo

Option 2

Download the repository. Import the blxo folder as a python package.

How to use it

  1. Define a monochromator with your parameters.

    Example:

from blxo import *
mono = mc.BentLaueMono(chi=np.radians(4.4671),theta=np.radians(8.99),nu=0.2,t=0.3,r=2000,p=22000) # Length unit is mm. Angle unit is radians.
  1. Get the interested properties from the monochromator.

    1. Quasi-mono beam
    qmb = mono.qmb
    # Quasi-mono beam width (mm)
    width = qmb['width']
    # Quasi-mono beam footlength (mm)
    footlength = qmb['foot_length']
    # Energy spread of the QMB in terms of angle (rad)
    ang_spread = qmb['angular_spread']
    
    1. Resolutions
    # Energy resolution
    mono.energy_resolution
    # Energy resolution in terms of angle
    mono.angle_resolution
    
    1. Optimal focus-to-detector distance
    mono.f2d_optimal
    
    1. Calculators for magic condition
    from blxo import *
    # Expect the result to be zero when the magic condition is met.
    # Magic condition function in terms of angle
    mc_angle_misalignment = mc.magic_condition_angles(chi=np.radians(4.4671),theta=np.radians(8.99),nu=0.2,t=0.3,r=2000,p=22000)
    # `mc_angle_misalignment` is expected to be zero (or zero enough) when the magic condition is met.
    
    # Magic condition function in terms of foci
    mc_focus_misalignment = mc.magic_condition_foci(chi=np.radians(4.4671),theta=np.radians(8.99),nu=0.2,t=0.3,r=2000,p=22000) # Thickness (t) is not a factor in the calculation, but a called module requires it for some other functions. So just give it any number.
    
    1. Others
    mono.lengths.geo_focus()
    mono.lengths.single_ray_focus()
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

blxo-0.1.10.tar.gz (16.6 kB view hashes)

Uploaded Source

Built Distribution

blxo-0.1.10-py3-none-any.whl (16.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page