oommf_mesh = mesh.Mesh((20, 20, 20), size=(conftest.x1, conftest.y1, conftest.z1)) # FIXME: why our result is three times of oommf's?? oommf_anis = oommf_cubic_anisotropy(m0=oommf_m0(conftest.m_gen, oommf_mesh), Ms=conftest.Ms, K1=conftest.K1, K2=conftest.K2, u1=conftest.u1, u2=conftest.u2).flat finmag_anis = finmag_to_oommf(finmag["H"], oommf_mesh, dims=3) assert oommf_anis.shape == finmag_anis.shape diff = np.abs(oommf_anis - finmag_anis) print 'diff', diff rel_diff = diff / \ np.sqrt( (np.max(oommf_anis[0] ** 2 + oommf_anis[1] ** 2 + oommf_anis[2] ** 2))) print "comparison with oommf, H, relative_difference:" print stats(rel_diff) finmag["table"] += conftest.table_entry("oommf", REL_TOLERANCE, rel_diff) assert np.max(rel_diff) < REL_TOLERANCE if __name__ == "__main__": finmag = conftest.setup_cubic() test_against_oommf(finmag) conftest.teardown(finmag)
import conftest as test if __name__ == "__main__": from test_anis_magpar import test_against_magpar from test_anis_nmag import test_against_nmag from test_anis_oommf import test_against_oommf finmag = test.setup(K2=0) test_against_magpar(finmag) test_against_oommf(finmag) finmag = test.setup() test_against_nmag(finmag) test.teardown(finmag)