leon-vv / Traceon

Electromagnetic solver and electron tracer
https://traceon.org/
GNU Affero General Public License v3.0
2 stars 4 forks source link

Support new symmetries/geometries #2

Closed leon-vv closed 1 year ago

leon-vv commented 1 year ago

We should clearly specify which symmetries are supported and for which excitation (electrostatic/magnetostatic).

Symmetry Electrostatic Magnetostatic
Axial symmetric x
Planar symmetric (finite length)
Planar symmetric (odd, infinite length) x
3D

For finite length with planar symmetry we have to neglect edge effects as the problem would otherwise become solvable only in 3D. One could image not implementing the infinite length case as it can be approximated easily by increasing the finite length to a large value (I believe this is the approach Comsol takes).

Full support for a symmetry implies the following:

leon-vv commented 1 year ago

Support for 3D has just been added. My view still is that we should support only axial symmetry, planar finite length symmetry and full 3D. Any relevant computations in the planar case can be computed using finite length elements. This also avoids infinity problems when the excitation is not odd (and therefore there is no clear 0 voltage point). For the potential of a finite line of charge it seems we can use this formula.

It seems the derivative interpolation in the planar and 3D cases are harder than I expected, and not as elegant as in the axial symmetric case. Also, the computation of the derivatives seems to become the bottleneck quickly even in the axial symmetric case. We should therefore consider other interpolation techniques, Hermite interpolation seems the most obvious. This could be implemented for all symmetries.

Symmetry Electrostatic Magnetostatic
Axial symmetric x
Planar symmetric (finite length)
3D x
leon-vv commented 1 year ago

I have been able to overcome the issues for the axial derivative method. Both in 3D (implemented) and for the radial symmetric case (soon to be implemented). We now support both Hermite interpolation and interpolation using the axial derivative method.

Symmetry Electrostatic Magnetostatic
Axial symmetric v0.1 v0.3?
Planar symmetric (finite length) v0.2 v0.3?
3D v0.1 v0.3?