From a2e7d9a10f65a687224de758bc9bb51c24dfa12e Mon Sep 17 00:00:00 2001 From: fuchenxi <1256257282@qq.com> Date: Mon, 4 Nov 2024 11:19:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E7=90=86umf=E6=B1=82=E8=A7=A3?= =?UTF-8?q?=E5=99=A8=E6=8C=87=E4=BB=A4=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __main__.py | 3 ++- field/__init__.py | 15 +++++++++++++-- util/batchjob.py | 6 ++++++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/__main__.py b/__main__.py index c428ce7..2ba2d52 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 4c0dd8b..2bceb6b 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 0ad16b1..4f2ae9a 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) -- GitLab