def test_demag_fft_exact_oommf(): mesh = CuboidMesh(nx=5, ny=3, nz=2, unit_length=1e-9) sim = Sim(mesh) demag = Demag() sim.add(demag) def init_m(pos): x = pos[0] if x <= 2: return (1, 0, 0) elif x >= 4: return (0, 0, 1) else: return (0, 1, 0) sim.set_m(init_m) fft = demag.compute_field() exact = demag.compute_exact() np.testing.assert_allclose(fft, exact, rtol=1e-10)
def test_demag_fft_exact(): mesh = CuboidMesh(nx=5, ny=3, nz=4) sim = Sim(mesh) demag = Demag() sim.add(demag) def init_m(pos): x = pos[0] if x <= 2: return (1, 0, 0) elif x >= 4: return (0, 0, 1) else: return (0, 1, 0) sim.set_m(init_m) fft = demag.compute_field() exact = demag.compute_exact() # print fft,exact print np.max(np.abs(fft - exact)) assert np.max(np.abs(fft - exact)) < 5e-22
def test_demag_fft_exact(): mesh = CuboidMesh(nx=5, ny=3, nz=4) sim = Sim(mesh) demag = Demag() sim.add(demag) def init_m(pos): x = pos[0] if x <= 2: return (1, 0, 0) elif x >= 4: return (0, 0, 1) else: return (0, 1, 0) sim.set_m(init_m) fft = demag.compute_field() exact = demag.compute_exact() # print fft,exact print np.max(np.abs(fft - exact)) assert np.max(np.abs(fft - exact)) < 5e-22