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()