Hello,
I have a question for garfield++.
I have a txt file. In this txt file, the grid points contain the electric field values for a sphere, and a small irregular 3d domain in the centre of the sphere should have electric field undefined (this is how it is designed). For example, for coordinates with x = 0, y=0, |z|<2.1, electric field values are undefined so this txt file doesn’t contain the electric field values for these coordinates, and the electric field at roughly (x=0,y=0,z=2.1) should reach its maximum.
I have successfully imported electric field on a 3-d grid from this txt file using
LoadElectricField(…)
and I also used function
SetMesh(…)
prior to reading the electric field.
What I found is that after I imported those 3d grid points and try to probe the electric field at (0,0,2.0), the electric field is nonzero, which is expected to be undefined as I just discussed. I found the electric field become undefined only for z<1.34 (x=y=0). The electric field will get closer to zero if I decrease the |z| value from 2.1 to 1.34. The electric field at (0,0,2.1) get its maximum but is still quite smaller than what it should be, but the larger the z value is, the more accurate the probed electric field will be. What I’m saying is for coordinates (x=0,y=0,z>4.1), the probed electric field matches the expected values. I think this may have to do with how garfield++ retrieve the field at a given position on “edge”.
Is there a proper way to import the electric field so that it will NOT create a decreasing field region from z = 2.1 to z = 1.34 (x = y = 0)? Region (z = 2.1 to 1.34) should be identified as undefined so that electrons should stop drifting in those area, and the electric field values can become accurate on “edges”.
BTW, This irregular region cannot be described by an analytical solution.
Thanks in advance for any help you can give! Please let me know if those descriptions have cause any confusions!