From 40ec71a216e98514818d7697e86c7ae81744b88d Mon Sep 17 00:00:00 2001 From: vsitaraman Date: Mon, 27 Apr 2026 17:55:05 -0400 Subject: [PATCH 1/2] modified: anasen_fem/garfield_sim.py mad modified: anasen_fem/run.py modified: anasen_fem/wires_gmsh2d_bc.py made changes to both to resolve inconsistency between the mesh generated by GMSH (3nodes) and expected by garfield (10nodes) --- anasen_fem/garfield_sim.py | 5 +++-- anasen_fem/run.py | 2 +- anasen_fem/wires_gmsh2d_bc.py | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/anasen_fem/garfield_sim.py b/anasen_fem/garfield_sim.py index 7609a86..d0969c3 100644 --- a/anasen_fem/garfield_sim.py +++ b/anasen_fem/garfield_sim.py @@ -42,7 +42,7 @@ else: gas.LoadGasFile(gas_file) # --- 3. FIELD MAP SETUP --- -fm = ROOT.Garfield.ComponentElmer() +fm = ROOT.Garfield.ComponentElmer2d() fm.Initialise("wires2d/mesh.header", @@ -58,6 +58,7 @@ fm.SetMedium(0, gas) # --- 4. SENSOR AND DRIFT SETUP --- sensor = ROOT.Garfield.Sensor() sensor.AddComponent(fm) +sensor.SetArea(-50.0, -50.0, -5.0, 50.0, 50.0, 5.0) #hardcoding the sesnsor area to define a psuedo 3d geometry # Heavy Ion Drift (RKF) - Best for the general track drift = ROOT.Garfield.DriftLineRKF() @@ -69,7 +70,7 @@ aval.SetSensor(sensor) # --- 5. EXECUTION --- # Starting position (e.g., near the IC wires at r=23mm or closer to Anodes) -x0, y0, z0, t0 = 35.0, 0.0, 0.0, 0.0 +x0, y0, z0, t0 = 3.50, 0.0, 0.0, 0.0 print(f"Simulating heavy ion drift from r={x0}...") drift.DriftIon(x0, y0, z0, t0) diff --git a/anasen_fem/run.py b/anasen_fem/run.py index f26f85f..c3fbb09 100755 --- a/anasen_fem/run.py +++ b/anasen_fem/run.py @@ -10,7 +10,7 @@ while val<178.3+0.1: os.system("ElmerGrid 14 2 wires2d.msh -2d") os.system("ElmerSolver wires2d.sif") os.system("./paraview_plotter.py") - # os.system("python3 garfield_sim.py") + os.system("python3 garfield_sim.py") os.system("cp wires2d.msh wires2d/mesh_files/wires2d%02d_%1.4f.msh"%(count,val)) os.system("cp wires2d.sif wires2d/sif_files/wires2d_%02d_%1.4f.sif"%(count,val)) os.system("cp wires2d/elfield_anasen_t0001.vtu wires2d/vtu_files/elfield_anasen_%02d_%1.4f.vtu"%(count,val)) diff --git a/anasen_fem/wires_gmsh2d_bc.py b/anasen_fem/wires_gmsh2d_bc.py index 8c1358a..9896518 100755 --- a/anasen_fem/wires_gmsh2d_bc.py +++ b/anasen_fem/wires_gmsh2d_bc.py @@ -224,7 +224,7 @@ gmsh.option.setNumber("Mesh.Algorithm", 6) gmsh.model.mesh.generate(dim=2) # gmsh.model.mesh.refine() # gmsh.model.mesh.refine() +gmsh.model.mesh.setOrder(3) gmsh.write("wires2d.msh") -gmsh.model.mesh.setOrder(1) #gmsh.fltk.run() gmsh.finalize() From e41f2e14ec949e3afa7db769b40531c5a69d6fd1 Mon Sep 17 00:00:00 2001 From: vsitaraman Date: Mon, 27 Apr 2026 17:59:34 -0400 Subject: [PATCH 2/2] modified: .gitignore --- .gitignore | 1 + anasen_fem/scalars.dat.names | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 1e6b5e2..7f90c62 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,4 @@ anasen_fem/scalars.dat.names myenv/ eloss_calculations/ anasen_fem/He96_CO2_4_260Torr.gas +anasen_fem/heavy_ion_track.csv diff --git a/anasen_fem/scalars.dat.names b/anasen_fem/scalars.dat.names index 95b8d83..68b1a00 100755 --- a/anasen_fem/scalars.dat.names +++ b/anasen_fem/scalars.dat.names @@ -2,7 +2,7 @@ Metadata for SaveScalars file: ./scalars.dat Elmer version: 26.1 Elmer compilation date: 2026-03-15 Solver input file: wires2d.sif -File started at: 2026/04/02 15:10:11 +File started at: 2026/04/27 17:44:16 Variables in columns of matrix: 1: res: potential difference