Translational motion - eddy current problem

Hi,
Has anyone implemented an eddy current problem with a magnet moving along a line passing over an electrically conducting body (or a similar problem)? I would appreciate some example or document that I can study.

Hi, I’ve attached an example of a magnetic dipole moving over a metal plate. It seems to work fine when I use the direct approach. However, I can not get the iterative solver to work (output is residual = nan).
Can anyone find what I’ve done wrong?
moving_plate_3D_forum.ipynb (110.2 KB)

Hi,
you try to create preconditioners on semidefinite matrices (a), create the smoother on the mstar matrix. and then give the cg some more iterations to converge to your limit with a simple jacobi

best Christopher

Hi Christopher,
I’m not sure if I understand your answer. Is it not the same as what I already tried?

mstar_alt = m.mat + dt * a.mat
premstar_alt = m.mat.CreateSmoother() + dt * a.mat.CreateSmoother()

from ngsolve.krylovspace import CGSolver
invmstar_alt = CGSolver(mstar_alt, premstar_alt, tol=1e-8, printrates="\r", maxiter=200)

gfut_iter, t_list, B_ind_list, B_tot_list = TimeStepping_tdepRHS(invmstar_alt, initial_cond=None, tend=0.1)

The output I get is: CG converged in 200 iterations to residual nan.
I got the same output for 2000 iterations.

Best
Richard

premstar_alt = mstar.CreateSmoother()

(a+b)**(-1) != a**(-1) + b**(-1) :wink:

1 Like