diff --git a/__main__.py b/__main__.py index c428ce797b848c0d03d0e2551d45b67679dc45b6..2ba2d523890790a79802ba2c9032494eb20227f2 100755 --- a/__main__.py +++ b/__main__.py @@ -44,6 +44,7 @@ parser_field.add_argument('-cv', help='CV simulation', action="store_true") parser_field.add_argument("-wf", help="WeightField Simulation", action="store_true") parser_field.add_argument("-v_current", help="Current voltage for step-by-step simulation", type=float) parser_field.add_argument("-noise", help="Detector Noise simulation", action="store_true") +parser_field.add_argument('-umf', help='use umf solver', action="store_true") parser_fpga = subparsers.add_parser('fpga', help='FPGA design') @@ -100,4 +101,4 @@ if kwargs['batch'] != 0: else: submodule = importlib.import_module(submodule) submodule.main(kwargs) - + \ No newline at end of file diff --git a/field/__init__.py b/field/__init__.py index 4c0dd8bec8e1d2e2e02d3ed65443cf5a85cae3b8..2bceb6b2e39224fbbaaaba82fca01a6d44085e5d 100755 --- a/field/__init__.py +++ b/field/__init__.py @@ -3,6 +3,7 @@ import logging def main(kwargs): label = kwargs['label'] verbose = kwargs['verbose'] + is_umf = kwargs['umf'] if verbose == 1: # -v logging.basicConfig(level=logging.INFO) @@ -12,5 +13,15 @@ def main(kwargs): logging.info('This is INFO messaage') logging.debug('This is DEBUG messaage') - from . import solver_section - solver_section.main(kwargs) + if is_umf is not True: + from . import solver_section + solver_section.main(kwargs) + else: + import subprocess + import sys + args = sys.argv[1:] + args.remove('-umf') + command_tail = " ".join(args) + command_head = "python3 -mdevsim.umfpack.umfshim raser/__main__.py" + command = command_head + " " + command_tail + subprocess.run([command], shell=True) diff --git a/util/batchjob.py b/util/batchjob.py index 0ad16b10b2bea966bd4420c320a685f885f74809..4f2ae9a236522a9137668fd84ba92043e6ccfc3b 100644 --- a/util/batchjob.py +++ b/util/batchjob.py @@ -37,6 +37,12 @@ def main(destination_subfolder, command, batch_number, args): + BINDPATH + " " \ + IMGFILE + " " \ + "python3 raser" + if "-umf" in command: + command = command.replace("-umf", "") + raser_shell = "/usr/bin/apptainer exec --env-file cfg/env -B" + " " \ + + BINDPATH + " " \ + + IMGFILE + " " \ + + "python3 -mdevsim.umfpack.umfshim raser/__main__.py" gen_job(jobfile_name, run_code=raser_shell+' '+command) submit_job(jobfile_name, destination_subfolder, group, mem, test=test)