def get_simulation(axis):
    """
    Create and return specular simulation with its instrument defined
    """
    simulation = ba.SpecularSimulation()
    simulation.setBeamParameters(wavelength, axis)
    return simulation
示例#2
0
def get_simulation():
    """
    Defines and returns a specular simulation.
    """
    simulation = ba.SpecularSimulation()
    simulation.setBeamParameters(1.54 * angstrom, 500, 0.0 * deg, 2.0 * deg)
    return simulation
def get_simulation_wl():
    """
    Defines and returns specular simulation
    with a time-of-flight beam
    """
    simulation = ba.SpecularSimulation()
    simulation.setBeamParameters(wls, inc_angle)
    return simulation
def get_simulation(scan_size=500):
    """
    Defines and returns a specular simulation.
    """
    simulation = ba.SpecularSimulation()
    scan = ba.AngularSpecScan(1.54 * angstrom, scan_size, 0.0 * deg, 2.0 * deg)
    simulation.setScan(scan)
    return simulation
示例#5
0
def get_simulation():
    """
    Returns a specular simulation with beam and detector defined.
    """
    simulation = ba.SpecularSimulation()
    simulation.setBeamParameters(1.54 * angstrom, 500, alpha_i_min * deg,
                                 alpha_i_max * deg)
    return simulation
def get_simulation_q():
    """
    Defines and returns specular simulation
    with a qz-defined beam
    """
    simulation = ba.SpecularSimulation()
    simulation.setBeamParameters(qzs)
    return simulation
def get_simulation_2(params):
    simulation = ba.SpecularSimulation()
    footprint = ba.FootprintFactorSquare(0.001)
    simulation.setBeamParameters(1.798 * angstrom, data_2[:, 0] * deg,
                                 footprint)
    simulation.setBeamIntensity(5.0e+8)
    sample = get_sample(params)
    simulation.setSample(sample)
    return simulation
def get_simulation(footprint):
    """
    Defines and returns a specular simulation.
    """
    simulation = ba.SpecularSimulation()
    scan = ba.AngularSpecScan(1.54 * angstrom, 500, 0.0 * deg, 0.6 * deg)
    scan.setFootprintFactor(footprint)
    simulation.setScan(scan)
    return simulation
示例#9
0
def get_simulation(params):
    """
    Create and return specular simulation with its instrument defined
    """
    wavelength = 1.54 * ba.angstrom  # beam wavelength

    simulation = ba.SpecularSimulation()
    simulation.setBeamParameters(wavelength, get_real_data_axis())
    simulation.setSample(get_sample(params))
    return simulation
示例#10
0
def get_simulation():
    simulation = ba.SpecularSimulation()
    alpha_i_axis = ba.FixedBinAxis("alpha_i", 500, 0.0 * deg, 6.5 * deg)
    simulation.setBeamParameters(8.0 * angstrom, alpha_i_axis)
    simulation.setBeamIntensity(1.0)
    # add wavelength distribution
    distr_1 = ba.DistributionCosine(8.0 * angstrom, 0.8 * angstrom / 2.355)
    simulation.addParameterDistribution("*/Beam/Wavelength", distr_1, 50, 2.0,
                                        ba.RealLimits.positive())
    return simulation
def get_simulation(scan_size=500):
    """
    Defines and returns specular simulation
    with a qz-defined beam
    """
    qzs = np.linspace(0.01, 1.0, scan_size)  # qz-values
    scan = ba.QSpecScan(qzs)
    simulation = ba.SpecularSimulation()
    simulation.setScan(scan)
    return simulation
示例#12
0
def get_simulation(qzs):
    """
    Defines and returns specular simulation
    with a qz-defined beam
    """
    # bornagain requires Qz in nm
    scan = ba.QSpecScan(qzs * 10.0)
    simulation = ba.SpecularSimulation()
    simulation.setScan(scan)
    return simulation
示例#13
0
def get_simulation():
    """
    Returns a specular simulation with beam and detector defined.
    """
    # First argument  of ba.DistributionGaussian is the mean value for distribution.
    # It should be zero in the case of incident angle distribution, otherwise an
    # exception is thrown.
    alpha_distr = ba.DistributionGaussian(0.0, d_ang)
    simulation = ba.SpecularSimulation()
    simulation.setBeamParameters(wavelength, n_bins, alpha_i_min, alpha_i_max)
    simulation.addParameterDistribution("*/Beam/InclinationAngle", alpha_distr,
                                        n_points, n_sig)
    return simulation
示例#14
0
def create_simulation(arg_dict, bin_start, bin_end):
    """
    Creates and returns specular simulation
    """
    simulation = ba.SpecularSimulation()
    alpha_distr = ba.DistributionGaussian(0.0, arg_dict["divergence"])
    footprint = ba.FootprintFactorGaussian(arg_dict["footprint_factor"])
    simulation.setBeamParameters(1.54 * ba.angstrom,
                                 get_real_data_axis(bin_start, bin_end),
                                 footprint)
    simulation.setBeamIntensity(arg_dict["intensity"])
    simulation.addParameterDistribution("*/Beam/InclinationAngle", alpha_distr,
                                        30, 3)
    return simulation
示例#15
0
def get_simulation(scan_size=500):
    """
    Returns a specular simulation with beam and detector defined.
    """
    footprint = ba.FootprintSquare(beam_sample_ratio)
    alpha_distr = ba.RangedDistributionGaussian(n_points, n_sig)

    scan = ba.AngularSpecScan(wavelength, scan_size, alpha_i_min, alpha_i_max)
    scan.setFootprintFactor(footprint)
    scan.setAbsoluteAngularResolution(alpha_distr, d_ang)

    simulation = ba.SpecularSimulation()
    simulation.setScan(scan)

    return simulation
def get_simulation(scan_size=500):
    """
    Returns a specular simulation with beam and detector defined.
    """

    alpha_distr = ba.RangedDistributionGaussian(n_points, n_sig)
    wavelength_distr = ba.RangedDistributionGaussian(n_points, n_sig)

    scan = ba.AngularSpecScan(wavelength, scan_size, alpha_i_min, alpha_i_max)
    scan.setAbsoluteAngularResolution(alpha_distr, d_ang)
    scan.setAbsoluteWavelengthResolution(wavelength_distr, d_wl)

    simulation = ba.SpecularSimulation()
    simulation.setScan(scan)

    return simulation
def get_simulation( scan_size=1500 ):
    """
    Defines and returns a specular simulation.
    """
    simulation = ba.SpecularSimulation()
    qzs = numpy.linspace(0.1, 1.5, scan_size)
    
    n_sig = 4.0
    n_samples = 25
    distr = ba.RangedDistributionGaussian(n_samples, n_sig)

    scan = ba.QSpecScan(qzs)
    scan.setAbsoluteQResolution(distr, 0.008)
    
    simulation.setScan(scan)
    return simulation
def create_simulation(arg_dict, bin_start, bin_end):
    """
    Creates and returns specular simulation
    """
    wavelength = 1.54 * ba.angstrom
    alpha_distr = ba.RangedDistributionGaussian(30, 3)
    footprint = ba.FootprintFactorGaussian(arg_dict["footprint_factor"])

    scan = ba.AngularSpecScan(wavelength,
                              get_real_data_axis(bin_start, bin_end))
    scan.setAbsoluteAngularResolution(alpha_distr, arg_dict["divergence"])
    scan.setFootprintFactor(footprint)

    simulation = ba.SpecularSimulation()
    simulation.setScan(scan)
    simulation.setBeamIntensity(arg_dict["intensity"])
    return simulation
示例#19
0
def get_simulation_smeared(qzs, dqzs):
    """
    Defines and returns specular simulation
    with a qz-defined beam
    """
    # 3.5 sigma to sync with refnx
    n_sig = 3.5
    n_samples = 21
    distr = ba.RangedDistributionGaussian(n_samples, n_sig)

    scan = ba.QSpecScan(qzs * 10.0)
    scan.setAbsoluteQResolution(distr, dqzs * 10.0)

    simulation = ba.SpecularSimulation()
    simulation.setScan(scan)

    return simulation
def get_simulation(divergent_beam):
    """
    Defines and returns a specular simulation.
    """

    # simulation parameters definition
    wavelength = 1.54 * angstrom
    n_bins = 500
    alpha_min = 0.0 * deg
    alpha_max = 2.0 * deg

    simulation = ba.SpecularSimulation()
    simulation.setBeamParameters(wavelength, n_bins, alpha_min, alpha_max)

    # adding beam divergence
    if divergent_beam is True:
        add_beam_divergence(simulation, wavelength)

    return simulation
示例#21
0
def get_simulation(scan_size=500):
    """
    Defines and returns specular simulation
    with a qz-defined beam
    """
    qzs = np.linspace(0.01, 1.0, scan_size)  # qz-values
    dq = 0.03 * qzs
    n_sig = 2.0
    n_samples = 25

    distr = ba.RangedDistributionGaussian(n_samples, n_sig)

    scan = ba.QSpecScan(qzs)
    scan.setAbsoluteQResolution(distr, dq)

    simulation = ba.SpecularSimulation()
    simulation.setScan(scan)

    return simulation
示例#22
0
def get_simulation(q_axis, parameters, polarization, analyzer):
    """
    Returns a simulation object.
    Polarization, analyzer and resolution are set
    from given parameters
    """
    simulation = ba.SpecularSimulation()
    q_axis = q_axis + parameters["q_offset"]
    scan = ba.QSpecScan(q_axis)

    dq = parameters["q_res"] * q_axis
    n_sig = 4.0
    n_samples = 25

    distr = ba.RangedDistributionGaussian(n_samples, n_sig)
    scan.setAbsoluteQResolution(distr, parameters["q_res"])

    simulation.setBeamPolarization(polarization)
    simulation.setAnalyzerProperties(analyzer, 1.0, 0.5)

    simulation.setScan(scan)
    return simulation