/******************************************************************************* * Instrument: McStas_Isotropic_Sqw * * %I * Written by: Peter Willendrup * Date: December 2018 * Origin: DTU * %INSTRUMENT_SITE: SINE2020 * * Wrapper instrument for use of Isotropic_Sqw in SIMRES * * %D * This instrument provides an MCPL-based interface for the use of Isotropic_Sqw in the SIMRES package. * The instrument has been developed in the context of WP8 in the SINE2020 project and is part of * deliverable D8.8. * * (EU Horizon 2020 research and innovation programme under grant agreement No 654000). * * The default material is liquid Rb as a cylinder of radius 0.01 m x height 0.07 m * * Example: McStas_Isotropic_Sqw Sqw_coh=Rb_liq_coh.sqw Sqw_inc=Rb_liq_inc.sqw radius=0.01 yheight=0.07 * * %P * Sqw_coh: [string] Name of the file containing the values of Q, w and S(Q,w) Coherent part; Q in Angs-1, E in meV, S(q,w) in meV-1. Use 0, NULL or "" to disable. * Sqw_inc: [string] Name of the file containing the values of Q, w and S(Q,w). Incoherent (self) part. Use 0, NULL or "" to scatter isotropically (V-like). * geometry: [string] Name of an Object File Format (OFF) or PLY file for complex geometry. * radius: [m] Sample radius * xwidth: [m] Sample width along x * yheight: [m] Sample height along y * zdepth: [m] Sample depth along z * thickness: [m] Thickness of hollow sample Negative value extends the hollow volume outside of the box/cylinder. * threshold: [m] Value under which S(Q,w) is not accounted for. to set according to the S(Q,w) values, i.e. not too low. * T: [K] Temperature of sample, detailed balance. Use T=0 to disable it. and T=-1 to automatically set it from non-classical S(q,w). * d_phi: [deg] Vertical focusing limit [deg] * verbose: [1] Verbosity level (0:silent, 1:normal, 2:verbose, 3:debug). A verbosity>1 also computes dispersions and S(q,w) analysis. * classical: [1] Assumes the S(q,w) data from the files is a classical S(q,w), and multiply that data by exp(hw/2kT) on up/down energy sides. Use 0 when obtained from raw experiments, 1 from molecular dynamics. Use -1 to guess from a data set including both energy sides. * powder_barns: [1] 0 when |F2| data in powder file are fm^2, 1 when in barns (barns=1 for laz, barns=0 for lau type files). * quantum_correction: [str] Specify the type of quantum correction to use "Boltzmann"/"Schofield","harmonic"/"Bader" or "standard"/"Frommhold" (default) * norm: [1] Normalize S(q,w) when -1 (default). Use raw data when 0, multiply S(q,w) when norm>0. * rot_x: [deg] Sample rotation around x * rot_y: [deg] Sample rotation around y * rot_z: [deg] Sample rotation around z * * %L * Website for the MCPL particle exchange format * Website for the SIMRES package * Website for WP8 in EU-SINE2020 * * %E *******************************************************************************/ DEFINE INSTRUMENT McStas_Isotropic_Sqw(string Sqw_coh="Rb_liq_coh.sqw", string Sqw_inc="Rb_liq_inc.sqw", string geometry="", radius=0.01, xwidth=0, yheight=0.07, zdepth=0, thickness=0, threshold=1e-20, T=0, d_phi=0, verbose=1, classical=-1, powder_barns=1, string quantum_correction="standard", norm=-1, rot_x=0, rot_y=0, rot_z=0) DECLARE %{ %} INITIALIZE %{ %} TRACE COMPONENT mcpl_in = MCPL_input(filename="McStas_Isotropic_Sqw_in.mcpl") AT(0,0,0) ABSOLUTE COMPONENT Iso = Isotropic_Sqw(Sqw_coh=Sqw_coh, Sqw_inc=Sqw_inc, geometry=geometry, radius=radius, xwidth=xwidth, yheight=yheight, zdepth=zdepth, thickness=thickness, threshold=threshold, T=T, d_phi=d_phi, verbose=verbose, classical=classical, powder_barns=powder_barns, quantum_correction=quantum_correction, norm=norm) AT(0,0,0) ABSOLUTE ROTATED (rot_x,rot_y,rot_z) ABSOLUTE COMPONENT mcpl_out = MCPL_output(filename="McStas_Isotropic_Sqw_out.mcpl") AT(0,0,0) ABSOLUTE FINALLY %{ %} END