Demagnetising field

Convergence of the volume-averaged demagnetising field $\langle H_z \rangle$ for uniformly magnetised bodies ($M_s$ = 800,000 A/m, magnetised along $z$). The analytical reference is $\langle H_z \rangle = -\mu_0 M_s^2 N_z$ where $N_z$ is the demagnetising factor.

All methods use the same underlying FEM mesh for the body region. The x-axis shows the number of nodes in the body (material region), giving a fair comparison between plain and shell meshes. Field values are volume-weighted averages using the FEM nodal volumes.

Solver methods:

MethodDescription
FK BEM (FMM GPU)Fredkin-Koehler with GPU fast multipole BEM
FK BEM (H2Lib CPU/GPU)Fredkin-Koehler with H2-matrix BEM (CPU) + GPU FEM
FK BEM (Dense GPU)Fredkin-Koehler with dense BEM on GPU
Shell (Spherical GPU)Shell transform with spherical mapping
Shell (Parallelepiped GPU)Shell transform with 6-frustum mapping
Volume FMM (GPU)Direct volumetric FMM (no Fredkin-Koehler)

Sphere (r=0.5)#

$N_z$ = 0.333333 (Nz = 1/3 (exact by symmetry)) — analytical $\langle H_z \rangle$ = -268,082.57

Sphere (r=0.5)

FK BEM (FMM GPU)

Body nodesHz meanRel. error
258-263,764.751.61e-02
388-265,039.191.14e-02
469-265,430.839.89e-03
775-266,338.976.50e-03
1,021-266,682.515.22e-03
1,487-267,055.693.83e-03
2,100-267,281.822.99e-03
3,134-267,487.622.22e-03

FK BEM (H2Lib CPU/GPU)

Body nodesHz meanRel. error
258-263,764.751.61e-02
388-265,039.191.14e-02
469-265,430.839.89e-03
775-266,338.976.50e-03
1,021-266,682.505.22e-03
1,487-267,055.693.83e-03
2,100-267,281.822.99e-03
3,134-267,487.622.22e-03

FK BEM (Dense GPU)

Body nodesHz meanRel. error
258-263,764.751.61e-02
388-265,039.191.14e-02
469-265,430.839.89e-03
775-266,338.976.50e-03
1,021-266,682.515.22e-03
1,487-267,055.693.83e-03
2,100-267,281.822.99e-03
3,134-267,487.622.22e-03

Shell (Spherical GPU)

Body nodesHz meanRel. error
245-237,330.721.15e-01
388-240,485.671.03e-01
445-245,926.378.26e-02
766-248,568.817.28e-02
1,007-252,818.205.69e-02
1,495-254,363.015.12e-02
2,119-256,783.074.21e-02
3,145-258,641.933.52e-02

Shell (Parallelepiped GPU)

Body nodesHz meanRel. error
238-251,378.696.23e-02
341-255,316.114.76e-02
464-258,702.073.50e-02
685-260,711.962.75e-02
975-262,551.212.06e-02
1,432-263,640.921.66e-02
2,083-264,442.731.36e-02
3,085-265,245.371.06e-02

Volume FMM (GPU)

Body nodesHz meanRel. error
258-259,096.883.35e-02
388-261,088.902.61e-02
469-261,651.672.40e-02
775-263,262.221.80e-02
1,021-263,879.911.57e-02
1,487-264,645.901.28e-02
2,100-265,150.771.09e-02
3,134-265,651.739.07e-03

Cube (side=1.0)#

$N_z$ = 0.333333 (Nz = 1/3 (exact by symmetry)) — analytical $\langle H_z \rangle$ = -268,082.57

Cube (side=1.0)

FK BEM (FMM GPU)

Body nodesHz meanRel. error
143-255,892.134.55e-02
144-255,784.644.59e-02
237-259,569.703.18e-02
343-261,594.872.42e-02
460-263,141.751.84e-02
683-264,035.241.51e-02
910-264,724.581.25e-02
1,492-265,799.708.52e-03

FK BEM (H2Lib CPU/GPU)

Body nodesHz meanRel. error
143-255,892.134.55e-02
144-255,784.644.59e-02
237-259,569.703.18e-02
343-261,594.872.42e-02
460-263,141.751.84e-02
683-264,035.241.51e-02
910-264,724.581.25e-02
1,492-265,799.698.52e-03

FK BEM (Dense GPU)

Body nodesHz meanRel. error
143-255,892.134.55e-02
144-255,784.644.59e-02
237-259,569.703.18e-02
343-261,594.872.42e-02
460-263,141.761.84e-02
683-264,035.251.51e-02
910-264,724.591.25e-02
1,492-265,799.728.52e-03

Shell (Spherical GPU)

Body nodesHz meanRel. error
142-195,800.552.70e-01
234-200,790.682.51e-01
337-227,094.401.53e-01
460-230,890.231.39e-01
664-237,896.341.13e-01
885-246,371.198.10e-02
1,162-250,246.356.65e-02
1,834-254,032.065.24e-02

Shell (Parallelepiped GPU)

Body nodesHz meanRel. error
143-199,010.392.58e-01
139-195,216.572.72e-01
237-227,850.691.50e-01
338-233,126.761.30e-01
461-242,292.339.62e-02
683-246,209.188.16e-02
879-247,760.577.58e-02
1,478-254,184.165.18e-02

Volume FMM (GPU)

Body nodesHz meanRel. error
143-249,349.516.99e-02
144-249,193.157.05e-02
237-254,039.195.24e-02
343-256,686.014.25e-02
460-258,765.943.48e-02
683-260,271.682.91e-02
910-261,242.772.55e-02
1,492-262,919.721.93e-02

Prolate cuboid (0.5 x 0.5 x 1.0)#

$N_z$ = 0.198316 (Nz computed via Ravaud & Lemarquand volume-averaged Hz) — analytical $\langle H_z \rangle$ = -159,495.07

Prolate cuboid (0.5 x 0.5 x 1.0)

FK BEM (FMM GPU)

Body nodesHz meanRel. error
203-153,213.373.94e-02
249-153,294.063.89e-02
351-155,115.712.75e-02
506-156,181.022.08e-02
619-156,112.632.12e-02
849-156,960.541.59e-02
1,261-157,481.211.26e-02
1,957-158,115.058.65e-03

FK BEM (H2Lib CPU/GPU)

Body nodesHz meanRel. error
203-153,213.373.94e-02
249-153,294.063.89e-02
351-155,115.722.75e-02
506-156,181.032.08e-02
619-156,112.642.12e-02
849-156,960.551.59e-02
1,261-157,481.231.26e-02
1,957-158,115.038.65e-03

FK BEM (Dense GPU)

Body nodesHz meanRel. error
203-153,213.383.94e-02
249-153,294.063.89e-02
351-155,115.722.75e-02
506-156,181.022.08e-02
619-156,112.642.12e-02
849-156,960.551.59e-02
1,261-157,481.221.26e-02
1,957-158,115.068.65e-03

Shell (Spherical GPU)

Body nodesHz meanRel. error
202-136,180.171.46e-01
242-146,278.318.29e-02
352-150,262.065.79e-02
507-150,414.995.69e-02
610-149,501.726.27e-02
844-152,562.354.35e-02
1,229-154,501.053.13e-02
1,956-156,923.991.61e-02

Shell (Parallelepiped GPU)

Body nodesHz meanRel. error
202-138,239.441.33e-01
246-146,085.138.41e-02
353-146,005.898.46e-02
503-154,777.852.96e-02
600-149,902.416.01e-02
843-155,258.732.66e-02
1,222-156,087.962.14e-02
1,969-155,145.102.73e-02

Volume FMM (GPU)

Body nodesHz meanRel. error
203-149,942.085.99e-02
249-150,053.325.92e-02
351-152,352.014.48e-02
506-153,723.693.62e-02
619-153,661.563.66e-02
849-154,772.512.96e-02
1,261-155,618.302.43e-02
1,957-156,568.481.83e-02

Oblate cuboid (1.0 x 1.0 x 0.5)#

$N_z$ = 0.495922 (Nz computed via Ravaud & Lemarquand volume-averaged Hz) — analytical $\langle H_z \rangle$ = -398,844.41

Oblate cuboid (1.0 x 1.0 x 0.5)

FK BEM (FMM GPU)

Body nodesHz meanRel. error
154-383,037.803.96e-02
214-386,582.333.07e-02
307-389,553.392.33e-02
412-391,507.741.84e-02
696-393,816.331.26e-02
870-394,628.141.06e-02
1,336-395,625.628.07e-03
1,907-396,293.116.40e-03

FK BEM (H2Lib CPU/GPU)

Body nodesHz meanRel. error
154-383,037.803.96e-02
214-386,582.333.07e-02
307-389,553.392.33e-02
412-391,507.741.84e-02
696-393,816.301.26e-02
870-394,628.121.06e-02
1,336-395,625.568.07e-03
1,907-396,293.076.40e-03

FK BEM (Dense GPU)

Body nodesHz meanRel. error
154-383,037.813.96e-02
214-386,582.343.07e-02
307-389,553.392.33e-02
412-391,507.751.84e-02
696-393,816.341.26e-02
870-394,628.171.06e-02
1,336-395,625.658.07e-03
1,907-396,293.156.40e-03

Shell (Spherical GPU)

Body nodesHz meanRel. error
153-322,301.751.92e-01
212-339,763.861.48e-01
310-346,566.401.31e-01
411-359,635.819.83e-02
696-368,741.337.55e-02
862-367,910.087.76e-02
1,336-375,496.275.85e-02
1,903-380,247.744.66e-02

Shell (Parallelepiped GPU)

Body nodesHz meanRel. error
153-296,854.832.56e-01
213-313,237.152.15e-01
304-319,481.891.99e-01
412-319,932.391.98e-01
696-337,309.001.54e-01
855-340,698.021.46e-01
1,331-358,284.061.02e-01
1,892-366,264.678.17e-02

Volume FMM (GPU)

Body nodesHz meanRel. error
154-371,984.946.73e-02
214-376,780.695.53e-02
307-380,809.854.52e-02
412-384,021.533.72e-02
696-387,537.932.83e-02
870-388,869.032.50e-02
1,336-390,689.292.04e-02
1,907-391,959.471.73e-02

Prolate ellipsoid (a=b=0.25, c=0.5)#

$N_z$ = 0.173564 (Nz from ellipsoid integral formula (exact)) — analytical $\langle H_z \rangle$ = -139,588.45

Prolate ellipsoid (a=b=0.25, c=0.5)

FK BEM (FMM GPU)

Body nodesHz meanRel. error
167-136,140.272.47e-02
200-137,025.961.84e-02
288-137,618.031.41e-02
397-138,063.161.09e-02
619-138,582.747.20e-03
862-138,819.105.51e-03
1,264-138,986.464.31e-03
1,878-139,149.293.15e-03

FK BEM (H2Lib CPU/GPU)

Body nodesHz meanRel. error
167-136,140.272.47e-02
200-137,025.961.84e-02
288-137,618.031.41e-02
397-138,063.161.09e-02
619-138,582.747.20e-03
862-138,819.105.51e-03
1,264-138,986.464.31e-03
1,878-139,149.293.15e-03

FK BEM (Dense GPU)

Body nodesHz meanRel. error
167-136,140.272.47e-02
200-137,025.961.84e-02
288-137,618.031.41e-02
397-138,063.161.09e-02
619-138,582.747.20e-03
862-138,819.105.51e-03
1,264-138,986.464.31e-03
1,878-139,149.293.15e-03

Shell (Spherical GPU)

Body nodesHz meanRel. error
167-137,360.181.60e-02
198-137,400.901.57e-02
289-140,790.628.61e-03
395-141,365.271.27e-02
608-140,559.706.96e-03
890-141,732.181.54e-02
1,251-142,130.521.82e-02
1,853-141,665.301.49e-02

Shell (Parallelepiped GPU)

Body nodesHz meanRel. error
202-78,300.504.39e-01
206-99,435.252.88e-01
279-106,475.512.37e-01
401-111,278.292.03e-01
689-116,148.171.68e-01
887-120,256.921.38e-01
1,388-126,314.239.51e-02
1,948-128,574.757.89e-02

Volume FMM (GPU)

Body nodesHz meanRel. error
167-133,727.364.20e-02
200-134,711.873.49e-02
288-135,595.472.86e-02
397-136,282.862.37e-02
619-137,095.781.79e-02
862-137,493.721.50e-02
1,264-137,842.971.25e-02
1,878-138,149.101.03e-02

Oblate ellipsoid (a=b=0.5, c=0.25)#

$N_z$ = 0.527200 (Nz from ellipsoid integral formula (exact)) — analytical $\langle H_z \rangle$ = -423,999.62

Oblate ellipsoid (a=b=0.5, c=0.25)

FK BEM (FMM GPU)

Body nodesHz meanRel. error
293-416,204.831.84e-02
359-417,539.501.52e-02
516-419,031.911.17e-02
729-420,221.708.91e-03
1,108-421,323.136.31e-03
1,609-422,044.094.61e-03
2,305-422,467.873.61e-03
3,424-422,865.392.68e-03

FK BEM (H2Lib CPU/GPU)

Body nodesHz meanRel. error
293-416,204.831.84e-02
359-417,539.501.52e-02
516-419,031.911.17e-02
729-420,221.708.91e-03
1,108-421,323.136.31e-03
1,609-422,044.094.61e-03
2,305-422,467.873.61e-03
3,424-422,865.392.68e-03

FK BEM (Dense GPU)

Body nodesHz meanRel. error
293-416,204.831.84e-02
359-417,539.501.52e-02
516-419,031.911.17e-02
729-420,221.708.91e-03
1,108-421,323.136.31e-03
1,609-422,044.094.61e-03
2,305-422,467.873.61e-03
3,424-422,865.392.68e-03

Shell (Spherical GPU)

Body nodesHz meanRel. error
295-374,115.481.18e-01
354-375,180.931.15e-01
506-385,876.878.99e-02
684-389,532.268.13e-02
1,064-395,056.066.83e-02
1,577-399,195.155.85e-02
2,147-403,414.704.85e-02
3,239-406,066.694.23e-02

Shell (Parallelepiped GPU)

Body nodesHz meanRel. error
338-315,716.122.55e-01
345-347,684.341.80e-01
499-353,733.301.66e-01
714-361,411.971.48e-01
1,210-375,338.721.15e-01
1,587-375,205.011.15e-01
2,410-386,011.088.96e-02
3,617-392,526.547.42e-02

Volume FMM (GPU)

Body nodesHz meanRel. error
293-407,391.603.92e-02
359-409,382.133.45e-02
516-411,969.282.84e-02
729-413,936.492.37e-02
1,108-416,053.211.87e-02
1,609-417,430.831.55e-02
2,305-418,401.331.32e-02
3,424-419,345.251.10e-02