comparison pm_yaml_config.xml @ 2:2d9b2ffec9d5 draft

planemo upload for repository https://github.com/muon-spectroscopy-computational-project/muon-galaxy-tools/main/pm_yaml_config commit 4f06b404d8b7fb83995f3052faa7e2ec7811f507
author muon-spectroscopy-computational-project
date Fri, 03 Feb 2023 15:40:12 +0000
parents 6f271bc31aa8
children 03f4f2aaa91c
comparison
equal deleted inserted replaced
1:6f271bc31aa8 2:2d9b2ffec9d5
1 <tool id="pm_yaml_config" name="PyMuonSuite AIRSS Configure" version="@TOOL_VERSION@+galaxy@WRAPPER_VERSION@" python_template_version="3.5" profile="22.01"> 1 <tool id="pm_yaml_config" name="PyMuonSuite AIRSS Configure" version="@TOOL_VERSION@+galaxy@WRAPPER_VERSION@" python_template_version="3.5" profile="22.05" license="MIT">
2 <description>define AIRSS parameters</description> 2 <description>define AIRSS parameters</description>
3 <macros> 3 <macros>
4 <!-- version of underlying tool (PEP 440) --> 4 <!-- version of underlying tool (PEP 440) -->
5 <!-- this wrapper doesn't have pymuonsuite as a dependency, but it will change according 5 <!-- this wrapper doesn't have pymuonsuite as a dependency, but it will change according
6 to the pymuonsuite interface, so follow the same versioning pattern --> 6 to the pymuonsuite interface, so follow the same versioning pattern -->
7 <token name="@TOOL_VERSION@">0.2.1</token> 7 <token name="@TOOL_VERSION@">0.2.3</token>
8 <!-- version of this tool wrapper (integer) --> 8 <!-- version of this tool wrapper (integer) -->
9 <token name="@WRAPPER_VERSION@">0</token> 9 <token name="@WRAPPER_VERSION@">0</token>
10 <!-- citation should be updated with every underlying tool version --> 10 <!-- citation should be updated with every underlying tool version -->
11 <!-- typical fields to update are version, month, year, and doi --> 11 <!-- typical fields to update are version, month, year, and doi -->
12 <token name="@TOOL_CITATION@"> 12 <token name="@TOOL_CITATION@">
13 @software{pymuon-suite, 13 @software{Sturniolo_pymuon-suite_2022,
14 author = {Sturniolo, Simone and Liborio, Leandro and Chadwick, Eli and Murgatroyd, Laura and Laverack, Adam and {Muon Spectroscopy Computational Project}}, 14 author = {Sturniolo, Simone and Liborio, Leandro and Chadwick, Eli and Murgatroyd, Laura and Laverack, Adam and Mudaraddi, Anish and {Muon Spectroscopy Computational Project}},
15 license = {GPL-3.0}, 15 license = {GPL-3.0},
16 month = {8},
16 title = {{pymuon-suite}}, 17 title = {{pymuon-suite}},
17 url = {https://github.com/muon-spectroscopy-computational-project/pymuon-suite}, 18 url = {https://github.com/muon-spectroscopy-computational-project/pymuon-suite},
18 version = {v0.2.1}, 19 version = {v0.2.3},
19 month = {2}, 20 doi = {10.5281/zenodo.7025644},
20 year = {2022}, 21 year = {2022}
21 doi = {}
22 } 22 }
23 </token> 23 </token>
24 <import>muon_macros.xml</import>
24 </macros> 25 </macros>
25 <creator> 26 <creator>
26 <person givenName="Jyothish" familyName="Thomas" identifier="https://orcid.org/0000-0003-4724-6924"/> 27 <person givenName="Jyothish" familyName="Thomas" identifier="https://orcid.org/0000-0003-4724-6924"/>
27 <person givenName="Eli" familyName="Chadwick" url="https://github.com/elichad" identifier="https://orcid.org/0000-0002-0035-6475"/> 28 <person givenName="Eli" familyName="Chadwick" url="https://github.com/elichad" identifier="https://orcid.org/0000-0002-0035-6475"/>
28 <organization url="https://muon-spectroscopy-computational-project.github.io/index.html" name="The Muon Spectroscopy Computational Project"/> 29 <organization url="https://muon-spectroscopy-computational-project.github.io/index.html" name="The Muon Spectroscopy Computational Project"/>
29 </creator> 30 </creator>
30 <requirements> 31 <requirements>
31 </requirements> 32 </requirements>
32 <command detect_errors="exit_code"><![CDATA[ 33 <command detect_errors="exit_code"><![CDATA[
33 touch outputx.yaml && 34 touch outputx.yaml &&
34 ([[ ! -z "$general_params.poisson_r" ]] && printf "poisson_r: $general_params.poisson_r\n">>outputx.yaml || ( >&2 echo "poisson_r empty" && exit 2)) && 35 ([[ ! -z '$general_params.poisson_r' ]] && printf 'poisson_r: $general_params.poisson_r\n'>>outputx.yaml || ( >&2 echo "poisson_r empty" && exit 2)) &&
35 ([[ ! -z "$general_params.struct_name" ]] && printf "name: $general_params.struct_name\n">>outputx.yaml || ( >&2 echo "structure name is empty" && exit 2)) && 36 ([[ ! -z '$general_params.name' ]] && printf 'name: $general_params.name\n'>>outputx.yaml || ( >&2 echo "structure name is empty" && exit 2)) &&
36 ([[ ! -z "$general_params.charged" ]] && printf "charged: $general_params.charged\n">>outputx.yaml || ( >&2 echo "charged muon empty" && exit 2)) && 37 ([[ ! -z '$general_params.charged' ]] && printf 'charged: $general_params.charged\n'>>outputx.yaml || ( >&2 echo "charged muon empty" && exit 2)) &&
37 ([[ ! -z "$general_params.geom_steps" ]] && printf "geom_steps: $general_params.geom_steps\n">>outputx.yaml || ( >&2 echo "geom_steps empty" && exit 2)) && 38 ([[ ! -z '$general_params.geom_steps' ]] && printf 'geom_steps: $general_params.geom_steps\n'>>outputx.yaml || ( >&2 echo "geom_steps empty" && exit 2)) &&
38 ([[ ! -z "$general_params.vdw_scale" ]] && printf "vdw_scale: $general_params.vdw_scale\n">>outputx.yaml || ( >&2 echo "vdw_scale empty" && exit 2)) && 39 ([[ ! -z '$general_params.vdw_scale' ]] && printf 'vdw_scale: $general_params.vdw_scale\n'>>outputx.yaml || ( >&2 echo "vdw_scale empty" && exit 2)) &&
39 ([[ ! -z "$calculator_params.calculator_cond.calculator" ]] && printf "calculator: $calculator_params.calculator_cond.calculator\n">>outputx.yaml || ( >&2 echo "calculator unselected" && exit 2)) && 40 ([[ ! -z '$calculator_params.calculator_cond.calculator' ]] && printf 'calculator: $calculator_params.calculator_cond.calculator\n'>>outputx.yaml || ( >&2 echo "calculator unselected" && exit 2)) &&
40 ([[ ! -z "$general_params.geom_force_tol" ]] && printf "geom_force_tol: $general_params.geom_force_tol\n">>outputx.yaml || ( >&2 echo "geom_force_tol empty" && exit 2)) && 41 ([[ ! -z '$general_params.geom_force_tol' ]] && printf 'geom_force_tol: $general_params.geom_force_tol\n'>>outputx.yaml || ( >&2 echo "geom_force_tol empty" && exit 2)) &&
41 ([[ ! -z "$general_params.out_folder" ]] && printf "out_folder: $general_params.out_folder\n">>outputx.yaml || printf "out_folder: muon-airss-out\n">>outputx.yaml) && 42 ([[ ! -z '$general_params.out_folder' ]] && printf 'out_folder: $general_params.out_folder\n'>>outputx.yaml || printf "out_folder: muon-airss-out\n">>outputx.yaml) &&
42 ([[ ! -z "$general_params.random_seed" ]] && printf "random_seed: $general_params.random_seed\n">>outputx.yaml || ( echo "random_seed empty")) && 43 ([[ ! -z '$general_params.random_seed' ]] && printf 'random_seed: $general_params.random_seed\n'>>outputx.yaml || ( echo "random_seed empty")) &&
43 ([[ ! -z "$clustering_params.supercell" ]] && (printf "supercell: $clustering_params.supercell\n" | sed "s/__ob__/[/g" | sed "s/__cb__/]/g" )>>outputx.yaml || ( >&2 echo "supercell empty" && exit 2)) && 44 ([[ ! -z '$clustering_params.supercell' ]] && (printf 'supercell: $clustering_params.supercell\n' | sed "s/__ob__/[/g" | sed "s/__cb__/]/g" )>>outputx.yaml || ( >&2 echo "supercell empty" && exit 2)) &&
44 ([[ ! -z "$clustering_params.k_points_grid" ]] && (printf "k_points_grid: $clustering_params.k_points_grid\n" | sed "s/__ob__/[/g" | sed "s/__cb__/]/g" ) >>outputx.yaml || ( >&2 echo "k_points_grid empty" && exit 2)) && 45 ([[ ! -z '$clustering_params.k_points_grid' ]] && (printf 'k_points_grid: $clustering_params.k_points_grid\n' | sed "s/__ob__/[/g" | sed "s/__cb__/]/g" ) >>outputx.yaml || ( >&2 echo "k_points_grid empty" && exit 2)) &&
45 ([[ ! -z "$clustering_params.max_scc_steps" ]] && printf "max_scc_steps: $clustering_params.max_scc_steps\n">>outputx.yaml || ( >&2 echo "max_scc_steps empty")) && 46 ([[ ! -z '$clustering_params.max_scc_steps' ]] && printf 'max_scc_steps: $clustering_params.max_scc_steps\n'>>outputx.yaml || ( >&2 echo "max_scc_steps empty")) &&
46 #if str($calculator_params.calculator_cond.calculator)=="uep": 47 #if str($calculator_params.calculator_cond.calculator)=="uep":
47 ([[ ! -z "$calculator_params.calculator_cond.uep_gw_factor" ]] && printf "uep_gw_factor: $calculator_params.calculator_cond.uep_gw_factor\n">>outputx.yaml || ( >&2 echo "uep gaussian width unset" && exit 2)) && 48 ([[ ! -z '$calculator_params.calculator_cond.uep_gw_factor' ]] && printf 'uep_gw_factor: $calculator_params.calculator_cond.uep_gw_factor\n'>>outputx.yaml || ( >&2 echo "uep gaussian width unset" && exit 2)) &&
48 ([[ ! -z "$calculator_params.calculator_cond.uep_chden" ]] && printf "uep_chden: $calculator_params.calculator_cond.uep_chden.value\n">>outputx.yaml || echo "den_fmt path unset") && 49 ([[ ! -z '$calculator_params.calculator_cond.uep_chden' ]] && printf 'uep_chden: $calculator_params.calculator_cond.uep_chden.value\n'>>outputx.yaml || echo "den_fmt path unset") &&
49 #else if str($calculator_params.calculator_cond.calculator)=="CASTEP": 50 #else if str($calculator_params.calculator_cond.calculator)=="CASTEP":
50 ([[ ! -z "$calculator_params.calculator_cond.castep_command" ]] && printf "castep_command: $calculator_params.calculator_cond.castep_command\n">>outputx.yaml || echo "CASTEP command unset") && 51 ([[ ! -z '$calculator_params.calculator_cond.castep_command' ]] && printf 'castep_command: $calculator_params.calculator_cond.castep_command\n'>>outputx.yaml || echo "CASTEP command unset") &&
51 ([[ ! -z "$calculator_params.calculator_cond.castep_param" ]] && printf "castep_param: $calculator_params.calculator_cond.castep_param\n">>outputx.yaml || echo "CASTEP param unset") && 52 ([[ ! -z '$calculator_params.calculator_cond.castep_param' ]] && printf 'castep_param: $calculator_params.calculator_cond.castep_param\n'>>outputx.yaml || echo "CASTEP param unset") &&
52 ([[ ! -z "$calculator_params.calculator_cond.mu_symbol" ]] && printf "mu_symbol: $calculator_params.calculator_cond.mu_symbol\n">>outputx.yaml || echo "mu symbol unset") && 53 ([[ ! -z '$calculator_params.calculator_cond.mu_symbol' ]] && printf 'mu_symbol: $calculator_params.calculator_cond.mu_symbol\n'>>outputx.yaml || echo "mu symbol unset") &&
53 #else if str($calculator_params.calculator_cond.calculator)=="dftb+": 54 #else if str($calculator_params.calculator_cond.calculator)=="dftb+":
54 ([[ ! -z "$calculator_params.calculator_cond.dftb_set" ]] && printf "dftb_set: $calculator_params.calculator_cond.dftb_set\n">>outputx.yaml || ( >&2 echo "dftb parameter set unselected" && exit 2)) && 55 ([[ ! -z '$calculator_params.calculator_cond.dftb_set' ]] && printf 'dftb_set: $calculator_params.calculator_cond.dftb_set\n'>>outputx.yaml || ( >&2 echo "dftb parameter set unselected" && exit 2)) &&
55 ([[ ! -z "$calculator_params.calculator_cond.dftb_pbc" ]] && printf "dftb_pbc: $calculator_params.calculator_cond.dftb_pbc\n">>outputx.yaml || echo "dftb periodic boundary condition unselected") && 56 ([[ ! -z '$calculator_params.calculator_cond.dftb_optionals' ]] && (printf 'dftb_optionals: $calculator_params.calculator_cond.dftb_optionals\n' | sed "s/__ob__/[/g" | sed "s/__cb__/]/g" ) >>outputx.yaml || echo "dftb optional json files unset") &&
57 ([[ ! -z '$calculator_params.calculator_cond.dftb_pbc' ]] && printf 'dftb_pbc: $calculator_params.calculator_cond.dftb_pbc\n'>>outputx.yaml || echo "dftb periodic boundary condition unselected") &&
56 #else if str($calculator_params.calculator_cond.calculator)=="all": 58 #else if str($calculator_params.calculator_cond.calculator)=="all":
57 ([[ ! -z "$calculator_params.calculator_cond.uep_gw_factor" ]] && printf "uep_gw_factor: $calculator_params.calculator_cond.uep_gw_factor\n">>outputx.yaml || echo "uep gaussian width unset") && 59 ([[ ! -z '$calculator_params.calculator_cond.uep_gw_factor' ]] && printf 'uep_gw_factor: $calculator_params.calculator_cond.uep_gw_factor\n'>>outputx.yaml || echo "uep gaussian width unset") &&
58 ([[ ! -z "$calculator_params.calculator_cond.uep_chden" ]] && printf "uep_chden: $calculator_params.calculator_cond.uep_chden\n">>outputx.yaml || echo "den_fmt path unset") && 60 ([[ ! -z '$calculator_params.calculator_cond.uep_chden' ]] && printf 'uep_chden: $calculator_params.calculator_cond.uep_chden\n'>>outputx.yaml || echo "den_fmt path unset") &&
59 ([[ ! -z "$calculator_params.calculator_cond.castep_command" ]] && printf "castep_command: $calculator_params.calculator_cond.castep_command\n">>outputx.yaml || echo "CASTEP command unset") && 61 ([[ ! -z '$calculator_params.calculator_cond.castep_command' ]] && printf 'castep_command: $calculator_params.calculator_cond.castep_command\n'>>outputx.yaml || echo "CASTEP command unset") &&
60 ([[ ! -z "$calculator_params.calculator_cond.castep_param" ]] && printf "castep_param: $calculator_params.calculator_cond.castep_param\n">>outputx.yaml || echo "CASTEP param unset") && 62 ([[ ! -z '$calculator_params.calculator_cond.castep_param' ]] && printf 'castep_param: $calculator_params.calculator_cond.castep_param\n'>>outputx.yaml || echo "CASTEP param unset") &&
61 ([[ ! -z "$calculator_params.calculator_cond.mu_symbol" ]] && printf "mu_symbol: $calculator_params.calculator_cond.mu_symbol\n">>outputx.yaml || echo "mu symbol unset") && 63 ([[ ! -z '$calculator_params.calculator_cond.mu_symbol' ]] && printf 'mu_symbol: $calculator_params.calculator_cond.mu_symbol\n'>>outputx.yaml || echo "mu symbol unset") &&
62 ([[ ! -z "$calculator_params.calculator_cond.mu_symbol" ]] && printf "dftb_set: $calculator_params.calculator_cond.dftb_set\n">>outputx.yaml || echo "dftb parameter set unselected") && 64 ([[ ! -z '$calculator_params.calculator_cond.dftb_set' ]] && printf 'dftb_set: $calculator_params.calculator_cond.dftb_set\n'>>outputx.yaml || echo "dftb parameter set unselected") &&
63 ([[ ! -z "$calculator_params.calculator_cond.dftb_pbc" ]] && printf "dftb_pbc: $calculator_params.calculator_cond.dftb_pbc\n">>outputx.yaml || echo "dftb periodic boundary condition unselected") && 65 ([[ ! -z '$calculator_params.calculator_cond.dftb_optionals' ]] && (printf 'dftb_optionals: $calculator_params.calculator_cond.dftb_optionals\n' | sed "s/__ob__/[/g" | sed "s/__cb__/]/g" ) >>outputx.yaml || echo "dftb optional json files unset") &&
66 ([[ ! -z '$calculator_params.calculator_cond.dftb_pbc' ]] && printf 'dftb_pbc: $calculator_params.calculator_cond.dftb_pbc\n'>>outputx.yaml || echo "dftb periodic boundary condition unselected") &&
64 #end if 67 #end if
65 ([[ ! -z "$clustering_params.clustering.clustering_method " ]] && printf "clustering_method: $clustering_params.clustering.clustering_method\n">>outputx.yaml || ( echo "clustering method unselected" && exit 2)) && 68 ([[ ! -z '$clustering_params.clustering.clustering_method' ]] && printf 'clustering_method: $clustering_params.clustering.clustering_method\n'>>outputx.yaml || ( echo "clustering method unselected" && exit 2)) &&
66 #if str($clustering_params.clustering.clustering_method)=="hier": 69 #if str($clustering_params.clustering.clustering_method)=="hier":
67 ([[ ! -z "$clustering_params.clustering.clustering_hier_t" ]] && printf "clustering_hier_t: $clustering_params.clustering.clustering_hier_t\n">>outputx.yaml || echo "clustering_hier_t unset") && 70 ([[ ! -z '$clustering_params.clustering.clustering_hier_t' ]] && printf 'clustering_hier_t: $clustering_params.clustering.clustering_hier_t\n'>>outputx.yaml || echo "clustering_hier_t unset") &&
68 #else if str($clustering_params.clustering.clustering_method)=="kmeans": 71 #else if str($clustering_params.clustering.clustering_method)=="kmeans":
69 ([[ ! -z "$clustering_params.clustering.clustering_kmeans_k" ]] && printf "clustering_kmeans_k: $clustering_params.clustering.clustering_kmeans_k\n">>outputx.yaml || echo "clustering_kmeans_k unset") && 72 ([[ ! -z '$clustering_params.clustering.clustering_kmeans_k' ]] && printf 'clustering_kmeans_k: $clustering_params.clustering.clustering_kmeans_k\n'>>outputx.yaml || echo "clustering_kmeans_k unset") &&
70 #end if 73 #end if
71 ln -s outputx.yaml output.yaml 74 ln -s outputx.yaml output.yaml
72 ]]></command> 75 ]]></command>
73 <inputs> 76 <inputs>
74 <section name="general_params" expanded="true" title="General Parameters"> 77 <section name="general_params" expanded="true" title="General Parameters">
75 <param type="float" name="poisson_r" argument="poisson_r" value="0.8" label="Poisson radius" help=" Poisson sphere radius to use for random generation. No two starting muon positions will be closer than this distance. Smaller values make for bigger structure sets."/> 78 <param type="float" argument="poisson_r" value="0.8" min="0.0" label="Poisson radius" help=" Poisson sphere radius to use for random generation. No two starting muon positions will be closer than this distance. Smaller values make for bigger structure sets."/>
76 <param type="text" argument="struct_name" name="struct_name" value="struct" label="Name" help="Name of the structure. This name will be postfixed with a unique number, e.g. struct_001 for each generated structure."/> 79 <param type="text" argument="name" value="struct" label="Name" help="Name of the structure. This name will be postfixed with a unique number, e.g. struct_001 for each generated structure."/>
77 <param type="select" argument="charged" name="charged" label="Charged muon" value="true" help="If true, the muon will be considered charged instead of a muonium with an accompanying electron. Must be true for UEP calculations."> 80 <param argument="charged" type="boolean" checked="true" label="Charged muon" help="If true, the muon will be charged. Otherwise, will be muonium (with an accompanying electron). Must be true for UEP calculations."/>
78 <option value="true">true</option> 81 <param type="integer" argument="geom_steps" value="30" min="0" label="Geometry optimization steps" help="Maximum number of geometry optimisation steps."/>
79 <option value="false">false</option> 82 <param type="float" argument="vdw_scale" value="0.5" min="0.0" label="Van der Waals scale" help="Van der Waals scaling factor to use when generating muon sites to avoid existing atoms. Smaller values will allow muons to get closer to the other ions."/>
80 </param> 83 <param type="text" argument="out_folder" optional="true" value="muon-airss-out" label="Output folder name" help="Name to call the output folder used to store the files that the script generates."/>
81 <param type="integer" argument="geom_steps" name="geom_steps" value="30" label="Geometry optimization steps" help="Maximum number of geometry optimisation steps."/> 84 <param type="float" argument="geom_force_tol" value="0.05" min="0.0" label="Geometry optimization tolerance" help="Tolerance on geometry optimisation in units of eV/Å."/>
82 <param type="float" argument="vdw_scale" name="vdw_scale" value="0.5" label="Van der Waals scale" help="Van der Waals scaling factor to use when generating muon sites to avoid existing atoms. Smaller values will allow muons to get closer to the other ions."/> 85 <param type="integer" argument="random_seed" label="Random Seed" optional="true" help="Random seed for pymuonsuite."/>
83 <param type="text" argument="out_folder" optional="true" name="out_folder" value="muon-airss-out" label="Output folder name" help="Name to call the output folder used to store the files that the script generates."/>
84 <param type="float" argument="geom_force_tol" name="geom_force_tol" value="0.05" label="Geometry optimization tolerance" help="Tolerance on geometry optimisation in units of eV/Å."/>
85 <param type="integer" argument="random_seed" name="random_seed" label="Random Seed" optional="true" help="Random seed for pymuonsuite."/>
86 </section> 86 </section>
87 <section name="calculator_params" expanded="true" title="Calculator parameters"> 87 <section name="calculator_params" expanded="true" title="Calculator parameters">
88 <conditional name="calculator_cond"> 88 <conditional name="calculator_cond">
89 <param type="select" display="radio" label="Optimization calculator" argument="calculator" name="calculator" value="uep" help="Calculator to generate structure files for. Must be a single word or a comma seperated list of values. Currently supported calculators are CASTEP, DFTB+ and UEP. Can also select 'all' to generate files for all calculators."> 89 <param type="select" display="radio" label="Optimization calculator" argument="calculator" value="uep" help="Calculator to generate structure files for. Must be a single word or a comma seperated list of values. Currently supported calculators are CASTEP, DFTB+ and UEP. Can also select 'all' to generate files for all calculators.">
90 <option value="uep">UEP</option> 90 <option value="uep">UEP</option>
91 <option value="castep">CASTEP</option> 91 <option value="castep">CASTEP</option>
92 <option value="dftb+">DFTB+</option> 92 <option value="dftb+">DFTB+</option>
93 <option value="all">all</option> 93 <option value="all">all</option>
94 </param> 94 </param>
95 <when value="uep"> 95 <when value="uep">
96 <param type="float" argument="uep_gw_factor" name="uep_gw_factor" optional="true" value="5.0" label="Gaussian width factor" help="Gaussian width factor for UEP calculation. Higher values will make the potential of atomic nuclei closer to the point-like approximation but may introduce artifacts."/> 96 <param type="float" argument="uep_gw_factor" optional="true" value="5.0" min="0.0" label="Gaussian width factor" help="Gaussian width factor for UEP calculation. Higher values will make the potential of atomic nuclei closer to the point-like approximation but may introduce artifacts."/>
97 <param type="text" argument="uep_chden" name="uep_chden" optional="true" label="Path to .den_fmt and .castep files" help="Name of the .den_fmt file containing the electronic density for an Unperturbed Electrostatic Potential optimisation. The corresponding .castep file must be with the same seedname. Only required for use outside Muon Galaxy"/> 97 <param type="text" argument="uep_chden" optional="true" label="Path to .den_fmt and .castep files" help="Name of the .den_fmt file containing the electronic density for an Unperturbed Electrostatic Potential optimisation. The corresponding .castep file must be with the same seedname. Only required for use outside Muon Galaxy"/>
98 </when> 98 </when>
99 <when value="castep"> 99 <when value="castep">
100 <param type="text" argument="castep_command" name="castep_command" optional="true" value="castep.serial" label="CASTEP command" help="Command to use to run CASTEP."/> 100 <param type="text" argument="castep_command" optional="true" value="castep.serial" label="CASTEP command" help="Command to use to run CASTEP."/>
101 <param type="text" argument="castep_param" name="castep_param" optional="true" label="PARAM path" help="File path to the CASTEP parameter file."/> 101 <param type="text" argument="castep_param" optional="true" label="PARAM path" help="File path to the CASTEP parameter file."/>
102 <param type="text" argument="mu_symbol" name="mu_symbol" optional="true" label="Muon symbol" value="H:mu" help="The symbol to use for the muon when writing out the CASTEP custom species."/> 102 <param type="text" argument="mu_symbol" optional="true" label="Muon symbol" value="H:mu" help="The symbol to use for the muon when writing out the CASTEP custom species."/>
103 </when> 103 </when>
104 <when value="dftb+"> 104 <when value="dftb+">
105 <param type="select" argument="dftb_set" name="dftb_set" optional="true" value="3ob-3-1" label="DFTB parameter set" help="The parameter set to use for DFTB+. Currently supported are: 3ob-3-1 and pbc-0-3. See help section at the bottom of the page for details."> 105 <expand macro="dftb+"/>
106 <option value="3ob-3-1" selected="true">3ob-3-1</option> 106 <expand macro="dftb_optionals"/>
107 <option value="pbc-0-3">pbc-0-3</option>
108 </param>
109 <param type="text" argument="dftb_optionals" name="dftb_optionals" value="[]" optional="true" label="DFTB optional files" help="Additional optional json files to activate for DFTBArgs (for example, dftd3.json will use DFTD3 dispersion forces for 3ob-3-1 if DFTB+ has been compiled to support them)."/>
110 <param type="select" argument="dftb_pbc" name="dftb_pbc" optional="true" value="true" label="Use periodic boundary conditions" help="Whether to turn on periodic boundary conditions in DFTB+.">
111 <option value="true" selected="true">true</option>
112 <option value="false">false</option>
113 </param>
114 </when> 107 </when>
115 <when value="all"> 108 <when value="all">
116 <param type="float" argument="uep_gw_factor" name="uep_gw_factor" optional="true" value="5.0" label="Gaussian width factor" help="Gaussian width factor for UEP calculation. Higher values will make the potential of atomic nuclei closer to the point-like approximation but may introduce artifacts."/> 109 <param type="float" argument="uep_gw_factor" optional="true" value="5.0" min="0.0" label="Gaussian width factor" help="Gaussian width factor for UEP calculation. Higher values will make the potential of atomic nuclei closer to the point-like approximation but may introduce artifacts."/>
117 <param type="text" argument="uep_chden" name="uep_chden" optional="true" label="Path to .den_fmt and CASTEP files" help="Name of the .den_fmt file containing the electronic density for an Unperturbed Electrostatic Potential optimisation. The corresponding .castep file must be with the same seedname. Only required for use outside Muon Galaxy"/> 110 <param type="text" argument="uep_chden" optional="true" label="Path to .den_fmt and CASTEP files" help="Name of the .den_fmt file containing the electronic density for an Unperturbed Electrostatic Potential optimisation. The corresponding .castep file must be with the same seedname. Only required for use outside Muon Galaxy"/>
118 <param type="text" argument="castep_command" name="castep_command" optional="true" value="castep.serial" label="CASTEP command" help="Command to use to run CASTEP."/> 111 <param type="text" argument="castep_command" optional="true" value="castep.serial" label="CASTEP command" help="Command to use to run CASTEP."/>
119 <param type="text" argument="castep_param" name="castep_param" optional="true" label="PARAM path" help="File path to the CASTEP parameter file."/> 112 <param type="text" argument="castep_param" optional="true" label="PARAM path" help="File path to the CASTEP parameter file."/>
120 <param type="text" argument="mu_symbol" name="mu_symbol" optional="true" label="Muon symbol" value="H:mu" help="The symbol to use for the muon when writing out the CASTEP custom species."/> 113 <param type="text" argument="mu_symbol" optional="true" label="Muon symbol" value="H:mu" help="The symbol to use for the muon when writing out the CASTEP custom species."/>
121 <param type="select" argument="dftb_set" name="dftb_set" optional="true" value="3ob-3-1" label="DFTB parameter set" help="The parameter set to use for DFTB+. Currently supported are: 3ob-3-1 and pbc-0-3. See help section at the bottom of the page for details."> 114 <expand macro="dftb+"/>
122 <option value="3ob-3-1" selected="true">3ob-3-1</option> 115 <expand macro="dftb_optionals"/>
123 <option value="pbc-0-3">pbc-0-3</option>
124 </param>
125 <param type="text" argument="dftb_optionals" name="dftb_optionals" value="[]" optional="true" label="DFTB optional files" help="Additional optional json files to activate for DFTBArgs (for example, dftd3.json will use DFTD3 dispersion forces for 3ob-3-1 if DFTB+ has been compiled to support them)."/>
126 <param type="select" argument="dftb_pbc" name="dftb_pbc" optional="true" value="true" label="Use periodic boundary conditions" help="Whether to turn on periodic boundary conditions in DFTB+.">
127 <option value="true" selected="true">true</option>
128 <option value="false">false</option>
129 </param>
130 </when> 116 </when>
131 </conditional> 117 </conditional>
132 </section> 118 </section>
133 <section name="clustering_params" expanded="true" title="Clustering Parameters"> 119 <section name="clustering_params" expanded="true" title="Clustering Parameters">
134 <conditional name="clustering"> 120 <conditional name="clustering">
135 <param type="select" argument="clustering_method" name="clustering_method" label="Clustering method" value="hier"> 121 <param type="select" argument="clustering_method" display="radio" label="Clustering method" value="hier">
136 <option value="hier">hierarchical</option> 122 <option value="hier">hierarchical</option>
137 <option value="kmeans">k-means</option> 123 <option value="kmeans">k-means</option>
138 </param> 124 </param>
139 <when value="hier"> 125 <when value="hier">
140 <param type="float" argument="clustering_hier_t" name="clustering_hier_t" value="0.3" optional="true" label="t parameter for hierarchical clustering"/> 126 <param type="float" argument="clustering_hier_t" value="0.3" min="0.0" optional="true" label="t parameter for hierarchical clustering"/>
141 </when> 127 </when>
142 <when value="kmeans"> 128 <when value="kmeans">
143 <param type="integer" argument="clustering_kmeans_k" name="clustering_kmeans_k" value="4" optional="true" label="Number of clusters for k-means clustering"/> 129 <param type="integer" argument="clustering_kmeans_k" value="4" min="0" optional="true" label="Number of clusters for k-means clustering"/>
144 </when> 130 </when>
145 </conditional> 131 </conditional>
146 <param type="integer" argument="supercell" name="supercell" value="1" label="Supercell" multiple="true" help="Supercell size and shape to use. This can either be a single int, a list of three integers or a 3x3 matrix of integers. For a single number a diagonal matrix will be generated with the integer repeated on the diagonals. For a list of three numbers a diagonal matrix will be generated where the diagonal elements are set to the list. A matrix will be used directly as is. Default is a 3x3 identity matrix."/> 132 <param type="text" argument="supercell" value="1" label="Supercell" help="Supercell size and shape to use. This can either be a single int, a list of three integers or a 3x3 matrix of integers. For a single number a diagonal matrix will be generated with the integer repeated on the diagonals. For a list of three numbers a diagonal matrix will be generated where the diagonal elements are set to the list. A matrix will be used directly as is. Default is a 3x3 identity matrix.">
147 <param type="text" argument="k_points_grid" name="k_points_grid" value="[1,1,1]" label="K-points grid" multiple="true" help="List of three integer k-points. Default is [1,1,1]."/> 133 <validator type="regex" message="Input should only contain whitespace, '[', ']', ',' and digits.">^[\s\d,\[\]]+$</validator>
148 <param type="integer" argument="max_scc_steps" name="max_scc_steps" value="200" optional="true" label="Max SCC steps" help="If applicable, max number of SCC steps to perform before giving up. Default is 200 for DFTB+ and 30 for CASTEP."/> 134 </param>
135 <expand macro="k_points_grid"/>
136 <param type="integer" argument="max_scc_steps" value="200" min="0" optional="true" label="Max SCC steps" help="If applicable, max number of SCC steps to perform before giving up. Default is 200 for DFTB+ and 30 for CASTEP."/>
149 </section> 137 </section>
150 </inputs> 138 </inputs>
151 <outputs> 139 <outputs>
152 <data label="Configuration for $general_params.struct_name" name="out_yaml" format="yaml" from_work_dir="output.yaml"/> 140 <data label="Configuration for $general_params.name" name="out_yaml" format="yaml" from_work_dir="output.yaml"/>
153 </outputs> 141 </outputs>
154 <tests> 142 <tests>
155 <test expect_num_outputs="1"> 143 <test expect_num_outputs="1">
156 <section name="general_params"> 144 <section name="general_params">
157 <param name="poisson_r" value="0.8"/> 145 <param name="poisson_r" value="0.8"/>
158 <param name="struct_name" value="Si"/> 146 <param name="name" value="Si"/>
159 <param name="charged" value="true"/> 147 <param name="charged" value="true"/>
160 <param name="geom_steps" value="300"/> 148 <param name="geom_steps" value="300"/>
161 <param name="vwd_scale" value="0.25"/> 149 <param name="vwd_scale" value="0.25"/>
162 <param name="out_folder" value="Si-out"/> 150 <param name="out_folder" value="Si-out"/>
163 <param name="geom_force_tol" value="0.05"/> 151 <param name="geom_force_tol" value="0.05"/>
187 </section> 175 </section>
188 <section name="clustering_params"> 176 <section name="clustering_params">
189 </section> 177 </section>
190 <output name="out_yaml" file="config-default.yaml" ftype="yaml" delta="100"/> 178 <output name="out_yaml" file="config-default.yaml" ftype="yaml" delta="100"/>
191 </test> 179 </test>
180 <test expect_num_outputs="1">
181 <section name="general_params">
182 </section>
183 <section name="calculator_params">
184 <conditional name="calculator_cond">
185 <param name="calculator" value="dftb+"/>
186 </conditional>
187 </section>
188 <section name="clustering_params">
189 </section>
190 <output name="out_yaml" file="config-dftb.yaml" ftype="yaml" delta="100"/>
191 </test>
192 <test expect_num_outputs="1">
193 <section name="general_params">
194 </section>
195 <section name="calculator_params">
196 <conditional name="calculator_cond">
197 <param name="calculator" value="all"/>
198 </conditional>
199 </section>
200 <section name="clustering_params">
201 </section>
202 <output name="out_yaml" file="config-all.yaml" ftype="yaml" delta="100"/>
203 </test>
204 <test expect_failure="true">
205 <section name="general_params">
206 </section>
207 <section name="calculator_params">
208 </section>
209 <section name="clustering_params">
210 <param name="supercell" value="bad format"/>
211 </section>
212 </test>
213 <test expect_failure="true">
214 <section name="general_params">
215 </section>
216 <section name="calculator_params">
217 </section>
218 <section name="clustering_params">
219 <param name="k_points_grid" value="bad format"/>
220 </section>
221 </test>
192 </tests> 222 </tests>
193 <help><![CDATA[ 223 <help><![CDATA[
194 Creates a YAML configuration file from input parameters. 224 Creates a YAML configuration file from input parameters.
225
226 PyMuonSuite is distributed under the GPLv3 license. This tool wrapper is distributed under the MIT license.
195 227
196 **DFTB+ parameter sets:** 228 **DFTB+ parameter sets:**
197 229
198 +------------+-------------------------------------+-----------------------------------+ 230 +------------+-------------------------------------+-----------------------------------+
199 | set | elements | context | 231 | set | elements | context |