def test_weak_bcs_ffc(backend): from demo.weak_bcs_ffc import main, parser f, x = main(vars(parser.parse_args(['-r']))) assert abs(f - x).sum() < 1e-12
def test_mass_vector_ffc(backend): from demo.mass_vector_ffc import main, parser f, x = main(vars(parser.parse_args(['-r']))) assert abs(f - x).sum() < 1e-12
def test_mass2d_ffc(backend): from demo.mass2d_ffc import main, parser f, x = main(vars(parser.parse_args(['-r']))) assert sum(abs(f - x)) < 1e-12
def test_mass2d_triangle(backend, unstructured_square): from demo.mass2d_triangle import main, parser f, x = main(vars(parser.parse_args(['-m', unstructured_square, '-r']))) assert np.linalg.norm(f - x) / np.linalg.norm(f) < 1e-6
def test_adv_diff(backend, mms_meshes): from demo.adv_diff import main, parser res = np.array([np.sqrt(main(vars(parser.parse_args(['-m', name, '-r'])))) for name, _ in mms_meshes]) convergence = np.log2(res[:len(mms_meshes) - 1] / res[1:]) assert all(convergence > [1.5, 1.85, 1.95])