# HG changeset patch # User muon-spectroscopy-computational-project # Date 1689686780 0 # Node ID e1e338f56656c14289a0174cabb17dbd5184ceee # Parent 331d0776abb4ef0da9332569acf0f720c754d443 planemo upload for repository https://github.com/muon-spectroscopy-computational-project/muon-galaxy-tools/main/muspinsim_config commit 70a4d37ecdf5d586703cfc509922311e95d3205c diff -r 331d0776abb4 -r e1e338f56656 build_file.py --- a/build_file.py Fri Feb 03 15:39:07 2023 +0000 +++ b/build_file.py Tue Jul 18 13:26:20 2023 +0000 @@ -1,6 +1,7 @@ import json import re import sys +from typing import List from muspinsim import MuSpinInput @@ -395,21 +396,63 @@ return err_found +def append_template_file( + template_path: str, + mu_params: dict, + file_contents: List[str] +): + """ + Loads an input file generated using muspinsim-gen and appends its contents + to what has already been created from config. Also ensures that the spins + are appended correctly. + """ + # Check if we have already defined spins in the file + spins_line = None + spins_line_index = None + if ("spins" in mu_params): + # Find the current line definition in the file + # In the format 'spins\n e\n' + for i, line in enumerate(file_contents): + if line.startswith("spins"): + spins_line = line.split("\n")[1].strip() + spins_line_index = i + if spins_line_index is not None: + del file_contents[spins_line_index] + + # Append the template file's contents + with open(template_path, encoding="utf-8") as template_file: + for line in template_file: + # Append the spins if needed + if line.startswith("spins") and spins_line is not None: + next_line = template_file.readline().strip() + file_contents += f"spins\n {next_line} {spins_line}\n" + else: + file_contents += line + + def main(): """ Entry point """ input_json_path = sys.argv[1] - mu_params = json.load(open(input_json_path, "r", encoding="utf-8")) + mu_input_params = json.load(open(input_json_path, "r", encoding="utf-8")) + + out_file_name = mu_input_params["out_file_prefix"].strip().replace( + " ", "_") - out_file_name = mu_params["out_file_prefix"].strip().replace(" ", "_") + # Check if using a template + template_path = None + if (mu_input_params["use_structure_file_conditional"] + ["use_structure_file"]) == "true": + template_path = "muspinsim_gen_out.in" # combine all sections mu_params = { - **mu_params["spins"], - **mu_params["interaction_params"], - **mu_params["experiment_params"], - **mu_params["fitting_params"]["fitting_options"], + **mu_input_params["use_structure_file_conditional"]["spins"], + ** (mu_input_params["use_structure_file_conditional"] + ["interaction_params"]), + **mu_input_params["experiment_params"], + **mu_input_params["fitting_params"]["fitting_options"], } # get experiment parameters @@ -430,6 +473,10 @@ if parse_dict(parse_func_dict, mu_params, file_contents): sys.exit(1) + # Load and append the template if specified + if template_path is not None: + append_template_file(template_path, mu_params, file_contents) + write_file("outfile.in", file_contents) try: diff -r 331d0776abb4 -r e1e338f56656 config_macros.xml --- a/config_macros.xml Fri Feb 03 15:39:07 2023 +0000 +++ b/config_macros.xml Tue Jul 18 13:26:20 2023 +0000 @@ -142,4 +142,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ^[a-zA-Z]+$ + + + + diff -r 331d0776abb4 -r e1e338f56656 muon_macros.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/muon_macros.xml Tue Jul 18 13:26:20 2023 +0000 @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + ^[\s\d,\[\]]+$ + + + + + + 2.2.1 + 10.5281/zenodo.7733979 + 10.5281/zenodo.6517626 + 0.3.0 + 10.5281/zenodo.8026711 + 10.5281/zenodo.7025643 + \ No newline at end of file diff -r 331d0776abb4 -r e1e338f56656 muspinsim_config.xml --- a/muspinsim_config.xml Fri Feb 03 15:39:07 2023 +0000 +++ b/muspinsim_config.xml Tue Jul 18 13:26:20 2023 +0000 @@ -1,25 +1,10 @@ - + define simulation parameters - - 2.0.2 0 - - - - @software{muspinsim, - author = {Sturniolo, Simone and Liborio, Leandro and Owen, Josh and Mudaraddi, Anish and Davies, Joel and Wilkinson, John and {Muon Spectroscopy Computational Project}}, - license = {MIT}, - title = {{muspinsim}}, - url = {https://github.com/muon-spectroscopy-computational-project/muspinsim}, - version = {v2.0.2}, - month = {1}, - year = {2023} - doi = {10.5281/zenodo.7568830} - } - config_macros.xml + muon_macros.xml @@ -28,83 +13,60 @@ - muspinsim + muspinsim - + - -
- - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+ + + + + + + +
+ +
+
+ +
+
+ +
+
+ +
+ +
+
+ +
+
+
@@ -169,6 +131,7 @@ + @@ -184,6 +147,7 @@ + @@ -199,6 +163,7 @@ + @@ -218,6 +183,7 @@ + @@ -252,6 +218,7 @@ + @@ -270,6 +237,7 @@ + @@ -284,6 +252,7 @@ + @@ -298,6 +267,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 10.1103/PhysRevLett.56.2720 - - @TOOL_CITATION@ - + @MUSPINSIM_CITATION@ diff -r 331d0776abb4 -r e1e338f56656 test-data/Basic.cell --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/Basic.cell Tue Jul 18 13:26:20 2023 +0000 @@ -0,0 +1,12 @@ +%BLOCK LATTICE_CART + 14.18160000000000 0.000000000000000 0.000000000000000 + 0.000000000000000 14.18160000000000 0.000000000000000 + 0.000000000000000 0.000000000000000 14.18160000000000 +%ENDBLOCK LATTICE_CART + +%BLOCK POSITIONS_FRAC +V 0.0791557133 0.0000005853 0.1708904764 +V 0.9161667724 0.0000005823 0.8325662729 +Si 0.4996287249 0.8331358706 0.8331663251 +H 0.1666672745 0.0000018274 0.0833332099 +%ENDBLOCK POSITIONS_FRAC diff -r 331d0776abb4 -r e1e338f56656 test-data/Basic.magres --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/Basic.magres Tue Jul 18 13:26:20 2023 +0000 @@ -0,0 +1,17 @@ +#$magres-abinitio-v1.0 +[atoms] +units lattice Angstrom +lattice 14.18160000000000 0.000000000000000 0.000000000000000 0.000000000000000 14.18160000000000 0.000000000000000 0.000000000000000 0.000000000000000 14.18160000000000 +units atom Angstrom +atom V V 1 1.1225546637 0.0000083005 2.4235003801 +atom V V 2 12.992710700 0.0000082580 11.807121856 +atom Si Si 3 7.0855347250 11.815199663 11.815631556 +atom H:mu H:mu 1 2.3636086201 0.0000259155 1.1817982368 +[/atoms] +[magres] +units efg au +efg V 1 -0.008877 0.000022 -0.011811 0.000022 -0.030585 0.000005 -0.011811 0.000005 0.039462 +efg V 2 0.221597 -0.000002 -0.009013 -0.000002 -0.109627 -0.000009 -0.009013 -0.000009 -0.111970 +efg Si 3 -0.002604 -0.000000 -0.000001 -0.000000 -0.002551 -0.000009 -0.000001 -0.000009 0.005154 +efg H:mu 1 -0.034266 0.000000 0.000000 0.000000 -0.034268 0.000000 0.000000 0.000000 0.068534 +[/magres] \ No newline at end of file diff -r 331d0776abb4 -r e1e338f56656 test-data/muspinsim_gen_template.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/muspinsim_gen_template.in Tue Jul 18 13:26:20 2023 +0000 @@ -0,0 +1,106 @@ +spins + mu V V V V V V V V +quadrupolar 2 + -0.008877 2.2e-05 -0.011811 + 2.2e-05 -0.030585 5e-06 + -0.011811 5e-06 0.039462 +dipolar 1 2 + 1.2410539563139198 1.7614965359999998e-05 -1.2417021305964 +dipolar 2 3 + 2.3114439642674407 4.25447999999999e-08 4.7979785243555995 +dipolar 2 4 + 2.3114439642674407 4.25447999999999e-08 -9.3836214756444 +dipolar 2 5 + -11.87015603573256 4.25447999999999e-08 4.7979785243555995 +dipolar 2 6 + 0.0 0.0 14.1816 +dipolar 2 7 + -14.1816 0.0 0.0 +dipolar 2 8 + 0.0 -14.1816 0.0 +dipolar 2 9 + 0.0 14.1816 0.0 +quadrupolar 3 + 0.221597 -2e-06 -0.009013 + -2e-06 -0.109627 -9e-06 + -0.009013 -9e-06 -0.11197 +dipolar 1 3 + 3.5524979205813603 1.7657510159999996e-05 3.5562763937592 +dipolar 3 4 + 0.0 0.0 -14.1816 +dipolar 3 5 + -14.1816 0.0 0.0 +dipolar 3 6 + -2.3114439642674407 -4.25447999999999e-08 9.3836214756444 +dipolar 3 7 + -16.49304396426744 -4.25447999999999e-08 -4.7979785243555995 +dipolar 3 8 + -2.3114439642674407 -14.1816000425448 -4.7979785243555995 +dipolar 3 9 + -2.3114439642674407 14.1815999574552 -4.7979785243555995 +quadrupolar 4 + 0.221597 -2e-06 -0.009013 + -2e-06 -0.109627 -9e-06 + -0.009013 -9e-06 -0.11197 +dipolar 1 4 + 3.5524979205813603 1.7657510159999996e-05 -10.6253236062408 +dipolar 4 5 + -14.1816 0.0 14.1816 +dipolar 4 6 + -2.3114439642674407 -4.25447999999999e-08 23.5652214756444 +dipolar 4 7 + -16.49304396426744 -4.25447999999999e-08 9.3836214756444 +dipolar 4 8 + -2.3114439642674407 -14.1816000425448 9.3836214756444 +dipolar 4 9 + -2.3114439642674407 14.1815999574552 9.3836214756444 +quadrupolar 5 + 0.221597 -2e-06 -0.009013 + -2e-06 -0.109627 -9e-06 + -0.009013 -9e-06 -0.11197 +dipolar 1 5 + -10.62910207941864 1.7657510159999996e-05 3.5562763937592 +dipolar 5 6 + 11.87015603573256 -4.25447999999999e-08 9.3836214756444 +dipolar 5 7 + -2.31144396426744 -4.25447999999999e-08 -4.7979785243555995 +dipolar 5 8 + 11.87015603573256 -14.1816000425448 -4.7979785243555995 +dipolar 5 9 + 11.87015603573256 14.1815999574552 -4.7979785243555995 +quadrupolar 6 + -0.008877 2.2e-05 -0.011811 + 2.2e-05 -0.030585 5e-06 + -0.011811 5e-06 0.039462 +dipolar 1 6 + 1.2410539563139198 1.7614965359999998e-05 12.9398978694036 +dipolar 6 7 + -14.1816 0.0 -14.1816 +dipolar 6 8 + 0.0 -14.1816 -14.1816 +dipolar 6 9 + 0.0 14.1816 -14.1816 +quadrupolar 7 + -0.008877 2.2e-05 -0.011811 + 2.2e-05 -0.030585 5e-06 + -0.011811 5e-06 0.039462 +dipolar 1 7 + -12.94054604368608 1.7614965359999998e-05 -1.2417021305964 +dipolar 7 8 + 14.1816 -14.1816 0.0 +dipolar 7 9 + 14.1816 14.1816 0.0 +quadrupolar 8 + -0.008877 2.2e-05 -0.011811 + 2.2e-05 -0.030585 5e-06 + -0.011811 5e-06 0.039462 +dipolar 1 8 + 1.2410539563139198 -14.18158238503464 -1.2417021305964 +dipolar 8 9 + 0.0 28.3632 0.0 +quadrupolar 9 + -0.008877 2.2e-05 -0.011811 + 2.2e-05 -0.030585 5e-06 + -0.011811 5e-06 0.039462 +dipolar 1 9 + 1.2410539563139198 14.18161761496536 -1.2417021305964 diff -r 331d0776abb4 -r e1e338f56656 test-data/test_10.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/test_10.in Tue Jul 18 13:26:20 2023 +0000 @@ -0,0 +1,54 @@ + +####################################################### +# Muspinsim Input File +# Generated using Muon Galaxy Tool Muspinsim_Input +####################################################### + +name + test_10 +average_axes + orientation +x_axis + time +y_axis + asymmetry +time + range(0,8.0,1000) +spins + mu V V V V +quadrupolar 2 + -0.008877 2.2e-05 -0.011811 + 2.2e-05 -0.030585 5e-06 + -0.011811 5e-06 0.039462 +dipolar 1 2 + 1.2410539564 1.7615e-05 -1.2417021433000002 +dipolar 2 3 + 2.3114439636999995 4.2500000000000017e-08 4.7979785240999995 +dipolar 2 4 + 2.3114439636999995 4.2500000000000017e-08 -9.3836214759 +dipolar 2 5 + -11.8701560363 4.2500000000000017e-08 4.7979785240999995 +quadrupolar 3 + 0.221597 -2e-06 -0.009013 + -2e-06 -0.109627 -9e-06 + -0.009013 -9e-06 -0.11197 +dipolar 1 3 + 3.5524979200999995 1.7657499999999998e-05 3.556276380799999 +dipolar 3 4 + 0.0 0.0 -14.1816 +dipolar 3 5 + -14.1816 0.0 0.0 +quadrupolar 4 + 0.221597 -2e-06 -0.009013 + -2e-06 -0.109627 -9e-06 + -0.009013 -9e-06 -0.11197 +dipolar 1 4 + 3.5524979200999995 1.7657499999999998e-05 -10.6253236192 +dipolar 4 5 + -14.1816 0.0 14.1816 +quadrupolar 5 + 0.221597 -2e-06 -0.009013 + -2e-06 -0.109627 -9e-06 + -0.009013 -9e-06 -0.11197 +dipolar 1 5 + -10.6291020799 1.7657499999999998e-05 3.556276380799999 diff -r 331d0776abb4 -r e1e338f56656 test-data/test_11.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/test_11.in Tue Jul 18 13:26:20 2023 +0000 @@ -0,0 +1,50 @@ + +####################################################### +# Muspinsim Input File +# Generated using Muon Galaxy Tool Muspinsim_Input +####################################################### + +name + test_11 +hyperfine 3 + (300/2) 3 4*10 + 3 15*10 6-3+2 + 4 5 15 +hyperfine 2 + 580 5 10 + 5 580 9 + 10 9 580 +average_axes + orientation +x_axis + time +y_axis + asymmetry +time + range(0,8.0,1000) +spins + mu V V V V +quadrupolar 2 + -0.008877 2.2e-05 -0.011811 + 2.2e-05 -0.030585 5e-06 + -0.011811 5e-06 0.039462 +dipolar 1 2 + 1.2410539564 1.7615e-05 -1.2417021433000002 +quadrupolar 3 + 0.221597 -2e-06 -0.009013 + -2e-06 -0.109627 -9e-06 + -0.009013 -9e-06 -0.11197 +dipolar 1 3 + 3.5524979200999995 1.7657499999999998e-05 3.556276380799999 +quadrupolar 4 + 0.221597 -2e-06 -0.009013 + -2e-06 -0.109627 -9e-06 + -0.009013 -9e-06 -0.11197 +dipolar 1 4 + 3.5524979200999995 1.7657499999999998e-05 -10.6253236192 +quadrupolar 5 + 0.221597 -2e-06 -0.009013 + -2e-06 -0.109627 -9e-06 + -0.009013 -9e-06 -0.11197 +dipolar 1 5 + -10.6291020799 1.7657499999999998e-05 3.556276380799999 diff -r 331d0776abb4 -r e1e338f56656 test-data/test_12.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/test_12.in Tue Jul 18 13:26:20 2023 +0000 @@ -0,0 +1,50 @@ + +####################################################### +# Muspinsim Input File +# Generated using Muon Galaxy Tool Muspinsim_Input +####################################################### + +name + test_12 +hyperfine 3 + (300/2) 3 4*10 + 3 15*10 6-3+2 + 4 5 15 +hyperfine 2 + 580 5 10 + 5 580 9 + 10 9 580 +average_axes + orientation +x_axis + time +y_axis + asymmetry +time + range(0,8.0,1000) +spins + mu V V V V 19F e +quadrupolar 2 + -0.008877 2.2e-05 -0.011811 + 2.2e-05 -0.030585 5e-06 + -0.011811 5e-06 0.039462 +dipolar 1 2 + 1.2410539564 1.7615e-05 -1.2417021433000002 +quadrupolar 3 + 0.221597 -2e-06 -0.009013 + -2e-06 -0.109627 -9e-06 + -0.009013 -9e-06 -0.11197 +dipolar 1 3 + 3.5524979200999995 1.7657499999999998e-05 3.556276380799999 +quadrupolar 4 + 0.221597 -2e-06 -0.009013 + -2e-06 -0.109627 -9e-06 + -0.009013 -9e-06 -0.11197 +dipolar 1 4 + 3.5524979200999995 1.7657499999999998e-05 -10.6253236192 +quadrupolar 5 + 0.221597 -2e-06 -0.009013 + -2e-06 -0.109627 -9e-06 + -0.009013 -9e-06 -0.11197 +dipolar 1 5 + -10.6291020799 1.7657499999999998e-05 3.556276380799999 diff -r 331d0776abb4 -r e1e338f56656 test-data/test_8.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/test_8.in Tue Jul 18 13:26:20 2023 +0000 @@ -0,0 +1,26 @@ + +####################################################### +# Muspinsim Input File +# Generated using Muon Galaxy Tool Muspinsim_Input +####################################################### + +name + test_8 +average_axes + orientation +x_axis + time +y_axis + asymmetry +time + range(0,8.0,1000) +spins + mu V V Si Si +dipolar 1 2 + 1.2410539563139198 1.7614965359999998e-05 -1.2417021305964 +dipolar 1 3 + 3.5524979205813603 1.7657510159999996e-05 3.5562763937592 +dipolar 1 4 + -4.72192610499264 2.366426252954879 3.54776669347968 +dipolar 1 5 + 9.45967389500736 2.366426252954879 3.54776669347968 diff -r 331d0776abb4 -r e1e338f56656 test-data/test_9.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/test_9.in Tue Jul 18 13:26:20 2023 +0000 @@ -0,0 +1,34 @@ + +####################################################### +# Muspinsim Input File +# Generated using Muon Galaxy Tool Muspinsim_Input +####################################################### + +name + test_9 +average_axes + orientation +x_axis + time +y_axis + asymmetry +time + range(0,8.0,1000) +spins + mu V V V V V V V V +dipolar 1 2 + 1.2410539564 1.7615e-05 -1.2417021433000002 +dipolar 1 3 + 3.5524979200999995 1.7657499999999998e-05 3.556276380799999 +dipolar 1 4 + 3.5524979200999995 1.7657499999999998e-05 -10.6253236192 +dipolar 1 5 + -10.6291020799 1.7657499999999998e-05 3.556276380799999 +dipolar 1 6 + 1.2410539564 1.7615e-05 12.9398978567 +dipolar 1 7 + -12.940546043600001 1.7615e-05 -1.2417021433000002 +dipolar 1 8 + 1.2410539564 -14.181582384999999 -1.2417021433000002 +dipolar 1 9 + 1.2410539564 14.181617615 -1.2417021433000002