Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test(show=False):
geo = dmsh.Rectangle(0.0, 1.0, 0.0, 1.0)
# p0 = dmsh.Path([[0.0, 0.0]])
p1 = dmsh.Path([[0.4, 0.6], [0.6, 0.4]])
def edge_size(x):
return 0.03 + 0.1 * p1.dist(x)
X, cells = dmsh.generate(geo, edge_size, show=show, tol=1.0e-10)
ref_norms = [3.8844963377954718e02, 1.5689926870601147e01, 1.0000000000000000e00]
assert_norm_equality(X.flatten(), ref_norms, 1.0e-3)
return X, cells
def test_rectangle_hole():
r = dmsh.Rectangle(60, 330, 380, 650)
h = dmsh.Rectangle(143, 245, 440, 543)
geo = dmsh.Difference(r, h)
X, cells = dmsh.generate(geo, 20, tol=1.0e-5, show=False)
ref_norms = [1.2901184909133780e05, 7.6243606395500592e03, 6.5000000000000000e02]
assert_norm_equality(X.flatten(), ref_norms, 1.0e-10)
def test_large():
# https://github.com/nschloe/dmsh/issues/11
r = dmsh.Rectangle(-10.0, +20.0, -10.0, +20.0)
c = dmsh.Circle([0.0, 0.0], 3)
geo = dmsh.Difference(r, c)
X, cells = dmsh.generate(geo, 2.0, tol=1.0e-5, max_steps=10000)
ref_norms = [4.6422985179724637e03, 2.4202897690682192e02, 2.0000000000000000e01]
assert_norm_equality(X.flatten(), ref_norms, 1.0e-4)
def test_union(show=False):
geo = dmsh.Union(
[dmsh.Rectangle(-1.0, +0.5, -1.0, +0.5), dmsh.Rectangle(-0.5, +1.0, -0.5, +1.0)]
)
X, cells = dmsh.generate(geo, 0.15, show=show, tol=1.0e-5)
ref_norms = [1.8432376349018622e02, 1.1278734993846784e01, 1.0000000000000000e00]
assert_norm_equality(X.flatten(), ref_norms, 1.0e-10)
return X, cells