Mercurial > repos > muon-spectroscopy-computational-project > muspinsim_config
diff config_macros.xml @ 3:331d0776abb4 draft
planemo upload for repository https://github.com/muon-spectroscopy-computational-project/muon-galaxy-tools/main/muspinsim_config commit 4f06b404d8b7fb83995f3052faa7e2ec7811f507
author | muon-spectroscopy-computational-project |
---|---|
date | Fri, 03 Feb 2023 15:39:07 +0000 |
parents | |
children | e1e338f56656 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/config_macros.xml Fri Feb 03 15:39:07 2023 +0000 @@ -0,0 +1,145 @@ +<macros> + <xml name="celio_options"> + <section name="celio_params" expanded="true" title="Celio's Method" help="Celio's method is an approximate method for computing asymmetry values over a range of times. It is particularly useful for larger systems of higher spins."> + <conditional name="celio_options"> + <param name="celio_enabled" type="select" label="Use Celio's method?" display="radio"> + <option value="true">Yes</option> + <option selected="true" value="">No</option> + </param> + <when value="true"> + <param name="celio_k" type="integer" value="10" label="Trotter number, k" help="Value used in the Trotter expansion."/> + <param name="celio_averages" type="integer" optional="true" label="Number of averages" help="When given a value MuSpinSim will randomise initial polarisation states and perform an average. This method is more approximate but much faster and reduces memory usage. It will also assume T->inf and zero magnetic fields. See the MuSpinSim docs for more info."/> + </when> + <when value=""/> + </conditional> + </section> + </xml> + <xml name="times"> + <repeat name="times" title="Time" help="A time or range of times (μs)"> + <param name="time" type="text" label="Time" help="Either a single time value or `range` function - allows default expressions, default constants, and special 'range()' function (see help section)" optional="true" value="range(0, 10, 101)"/> + </repeat> + </xml> + <xml name="fields"> + <repeat name="fields" title="Fields" help="Magnetic fields"> + <param name="field" type="text" value="0" label="Field" optional="true" help="Optional, (default is 0). Accepts 1X3 vector, or scalar value. Scalar value means field is assumed to be aligned with z axis. Allows default expressions, constants and functions, plus MHz, muon_gyr constants and special 'range()' function (see help section)"/> + </repeat> + </xml> + <xml name="intrinsic_fields"> + <repeat name="intrinsic_fields" title="Intrinsic Fields" help="Intrinsic magnetic fields (these are unaffected by rotations when using angular averaging via the orientations parameter)."> + <param name="intrinsic_field" type="text" value="0" label="Intrinsic Field (T)" optional="true" help="Optional, (default is 0). Accepts 1X3 vector, or scalar value. Scalar value means field is assumed to be aligned with z axis. Allows default expressions, constants and functions, plus MHz, muon_gyr constants and special 'range()' function (see help section)"/> + </repeat> + </xml> + <xml name="polarizations"> + <repeat name="polarizations" title="Polarizations" help="The direction along which the muon should be polarized when starting, as well as the one in which it will be measured. Each entry will generate a separate calculation when MuSpinSim is run"> + <conditional name="polarization_options"> + <param name="polarization_preset" value="custom" type="select" display="radio" label="Polarization" help="transverse: along x-axis, longitudinal: along z-axis, custom: define vector"> + <option value="longitudinal">longitudinal</option> + <option value="transverse">transverse</option> + <option selected="true" value="custom">custom</option> + </param> + <when value="custom"> + <param name="polarization" type="text" value="" label="Enter custom vector for polarization" help="Accepts 1X3 vector. Allows default expressions, constants and functions (see help section)"/> + </when> + <when value="longitudinal"/> + <when value="transverse"/> + </conditional> + </repeat> + </xml> + <xml name="orientations"> + <repeat name="orientations" title="Orientations" help="Orientations to use for crystallites - (define powder averages)"> + <conditional name="orientation_options"> + <param name="orientation_preset" type="select" display="radio" label="Orientation" optional="false" help="Polar angles: Define two polar angles θ and ϕ, defining only the direction of the z-axis (recommended for powder averages). Euler angles: Define 3 Euler angles defining a new frame, convention used is ZYZ by default. Euler angles with weight: define 3 Euler angles and a weight (will be normalized automatically). Euler angles helper function: eulrange(n). Zaremba-Conroy-Wolfsberg helper function: zcw(n)"> + <option value="2_polar">Polar angles</option> + <option value="3_euler">Euler angles</option> + <option value="4_euler">Euler angles with weight</option> + <option value="eulrange">Euler angles helper function (eulrange(n))</option> + <option selected="true" value="zcw">Zaremba-Conroy-Wolfsberg helper function (zcw(n))</option> + </param> + <when value="eulrange"> + <param name="eul_n" type="text" value="0" label="n" help="Value for n for eulrange(n) - allows default expressions, constants and functions. WARNING: large values are more computationally expensive."/> + </when> + <when value="zcw"> + <param name="zcw_n" type="text" value="0" label="n" help="Value for n for zcw(n) - Allows default expressions, constants and functions. WARNING: large values are more computationally expensive."/> + </when> + <when value="2_polar"> + <param name="theta" type="text" value="" label="θ (theta/inclination) angle" help="All polar angle entries allow default expressions, constants and functions"/> + <param name="phi" type="text" value="" label="ϕ (phi/azimuth) angle" help="All polar angle entries allow default expressions, constants and functions"/> + </when> + <when value="3_euler"> + <param name="eul_1" type="text" value="" label="Euler angle 1" help="All Euler angle entries allow default expressions, constants and functions"/> + <param name="eul_2" type="text" value="" label="Euler angle 2" help="All Euler angle entries allow default expressions, constants and functions"/> + <param name="eul_3" type="text" value="" label="Euler angle 3" help="All Euler angle entries allow default expressions, constants and functions"/> + </when> + <when value="4_euler"> + <param name="eul_1" type="text" value="" label="Euler angle 1" help="All Euler angle entries allow default expressions and constants"/> + <param name="eul_2" type="text" value="" label="Euler angle 2" help="All Euler angle entries allow default expressions and constants"/> + <param name="eul_3" type="text" value="" label="Euler angle 3" help="All Euler angle entries allow default expressions and constants"/> + <param name="weight" type="float" value="0" label="Weight" help="Allows only floating point value, weights will automatically be normalised"/> + </when> + </conditional> + </repeat> + </xml> + <xml name="euler_convention"> + <param name="euler_convention" type="select" display="radio" label="Euler Convention" help="Euler angle convention to use for orientation definitions (ignored if Euler angles not defined)"> + <option selected="true" value="zyz">ZYZ</option> + <option value="zxz">ZXZ</option> + </param> + </xml> + <xml name="temperatures"> + <repeat name="temperatures" title="Temperature" help="Temperature or range of temperatures (K)"> + <param name="temperature" type="text" help="Either single value or 'range()' function - allows default expressions, default constants, and special 'range()' function (see help section). Warning: both density matrices and dissipative couplings for finite temperatures are only calculated approximatively, see MuSpinSim docs." optional="true" value="inf"/> + </repeat> + </xml> + <xml name="average_axis_options_no_time"> + <param name="average_axes" type="select" display="checkboxes" multiple="true" optional="true" value="orientation" label="Average axes" help="Keywords that should have an average carried out over them. Each keyword ticked should have a range specified. Keywords not ticked or set as X axis, but which have a range set, will generate separate calculations for each value in the range when muspinsim is run."> + <option value="field">field</option> + <option value="intrinsic_field">intrinsic_field</option> + <option value="temperature">temperature</option> + <option value="polarization">polarization</option> + <option selected="true" value="orientation">orientation</option> + </param> + </xml> + <xml name="average_axis_options_no_field"> + <param name="average_axes" type="select" display="checkboxes" multiple="true" optional="true" value="orientation" label="Average axes" help="Keywords that should have an average carried out over them. Each keyword ticked should have a range specified. Keywords not ticked or set as X axis, but which have a range set, will generate separate calculations for each value in the range when muspinsim is run."> + <option value="time">time</option> + <option value="intrinsic_field">intrinsic_field</option> + <option value="temperature">temperature</option> + <option value="polarization">polarization</option> + <option selected="true" value="orientation">orientation</option> + </param> + </xml> + <xml name="restricted_axes_options"> + <param name="average_axes" type="select" display="checkboxes" multiple="true" optional="true" value="orientation" label="Average axes" help="Keywords that should have an average carried out over them. Each keyword ticked should have a range specified. Keywords not ticked or set as X axis, but which have a range set, will generate separate calculations for each value in the range when MuSpinSim is run."> + <option selected="true" value="orientation">orientation</option> + <option value="temperature">temperature</option> + </param> + </xml> + <xml name="axes_options"> + <conditional name="axes_options"> + <param name="y_axis" type="select" value="asymmetry" display="radio" label="Y axis" help="Range to use as y axis for output file(s). Asymmetry: use muon's polarization. Integral: use muon's polarization integral over time."> + <option selected="true" value="asymmetry">asymmetry</option> + <option value="integral">integral</option> + </param> + <when value="asymmetry"> + <conditional name="x_axis_options"> + <param name="x_axis" type="select" value="time" display="radio" label="X axis" help="Range to use as X axis for output file(s)"> + <option selected="true" value="time">time</option> + <option value="field">field</option> + </param> + <when value="time"> + <expand macro="average_axis_options_no_time"/> + </when> + <when value="field"> + <expand macro="average_axis_options_no_field"/> + </when> + </conditional> + </when> + <when value="integral"> + <param name="x_axis" type="select" value="time" display="radio" label="X axis" help="Range to use as X axis for output file(s)"> + <option selected="true" value="field">field</option> + </param> + <expand macro="average_axis_options_no_field"/> + </when> + </conditional> + </xml> +</macros>