def relax_system(mesh, Dx=0.005, Dp=0.01): mat = UnitMaterial() sim = Sim(mesh, name='test_energy') print('Created sim') sim.driver.set_tols(rtol=1e-10, atol=1e-12) sim.alpha = mat.alpha sim.driver.gamma = mat.gamma sim.pins = pin_fun exch = UniformExchange(mat.J) sim.add(exch) print('Added UniformExchange') anis = Anisotropy(Dx, axis=[1, 0, 0], name='Dx') sim.add(anis) print('Added Anisotropy') anis2 = Anisotropy([0, 0, -Dp], name='Dp') sim.add(anis2) print('Added Anisotropy 2') sim.set_m((1, 1, 1)) T = 100 ts = np.linspace(0, T, 201) for t in ts: # sim.save_vtk() sim.driver.run_until(t) print(('Running -', t)) # sim.save_vtk() np.save('m0.npy', sim.spin)
def test_sim_pin(): mesh = CuboidMesh(nx=3, ny=2, nz=1) sim = Sim(mesh) sim.set_m((0, 0.8, 0.6)) sim.alpha = 0.1 sim.gamma = 1.0 sim.pins = pin_fun anis = Anisotropy(Ku=1.0, axis=[0, 0, 1], name='Dx') sim.add(anis) sim.run_until(1.0) assert sim.spin[0] == 0 assert sim.spin[2] != 0