diff --git a/tests/test_basic.py b/tests/test_basic.py index e559f9056677f8b041b2f1a680f88194a297eb5d..107bc26209fb3fdd1b2dbbeda96eb69080df4316 100644 --- a/tests/test_basic.py +++ b/tests/test_basic.py @@ -9,7 +9,7 @@ import usadelndsoc.solver usadelndsoc.logger.setLevel(logging.DEBUG) -def basic_setup(terminals=False, nx=25, ny=5): +def basic_setup(terminals=False, nx=15, ny=5): Delta = np.zeros((4, 4)) Delta[:2, 2:] = np.eye(2) Delta[2:, :2] = np.eye(2) @@ -38,3 +38,20 @@ def test_solve_dos(): g = res.G[:, 10, 2, 0, 0] g_an = -1j * E / np.sqrt(1 - E**2) assert_allclose(g, g_an, rtol=1e-4) + + +def test_result_S(): + s = basic_setup() + s.Omega[:, :, 0, 3] = 0.5j + s.Omega[:, :, 3, 0] = 0.5j + res = s.solve_many(omega=0.5 + 0.8j) + S = res.S + + vol = s.Lx * s.Ly / (s.shape[0] * s.shape[1]) + + St = S.transpose(0, 1, 3, 2) + + assert_allclose(St[:, :, :2, :2], vol * res.G) + assert_allclose(St[:, :, :2, 2:], vol * res.F) + assert_allclose(St[:, :, 2:, :2], vol * res.Fc) + assert_allclose(St[:, :, 2:, 2:], vol * res.Gc)