Skip to content

Commit

Permalink
Update test_solve.py
Browse files Browse the repository at this point in the history
  • Loading branch information
adtzlr committed Aug 5, 2022
1 parent fe1d292 commit 460614e
Showing 1 changed file with 10 additions and 9 deletions.
19 changes: 10 additions & 9 deletions tests/test_solve.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,38 +36,39 @@ def test_solve():
q = fe.GaussLegendre(1, 3)
r = fe.Region(m, e, q)
u = fe.Field(r, dim=3)
v = fe.FieldContainer([u])

W = fe.constitution.NeoHooke(1, 3)

F = u.extract()
F = v.extract()
P = W.gradient(F)
A = W.hessian(F)

b = fe.dof.symmetry(u)
dof0, dof1 = fe.dof.partition(u, b)
dof0, dof1 = fe.dof.partition(v, b)

u0ext = fe.dof.apply(u, b, dof0)
ext0 = fe.dof.apply(v, b, dof0)

L = fe.IntegralForm(P, u, r.dV, grad_v=True)
a = fe.IntegralForm(A, u, r.dV, u, True, True)
L = fe.IntegralForm(P, v, r.dV)
a = fe.IntegralForm(A, v, r.dV, v)

b = L.assemble().toarray()[:, 0]
A = a.assemble()

system = fe.solve.partition(u, A, dof1, dof0)
system = fe.solve.partition(v, A, dof1, dof0)

du = fe.solve.solve(*system)
assert np.allclose(du, 0)

du = fe.solve.solve(*system, u0ext)
du = fe.solve.solve(*system, ext0)
assert np.allclose(du, 0)

system = fe.solve.partition(u, A, dof1, dof0, b)
system = fe.solve.partition(v, A, dof1, dof0, b)

du = fe.solve.solve(*system)
assert np.allclose(du, 0)

du = fe.solve.solve(*system, u0ext)
du = fe.solve.solve(*system, ext0)
assert np.allclose(du, 0)


Expand Down

0 comments on commit 460614e

Please sign in to comment.