Skip to content

Commit e328526

Browse files
committed
Resolve crash while subcycling
1 parent e93232e commit e328526

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

perpendicular-flap/solid-fenics/solid.py

+6-9
Original file line numberDiff line numberDiff line change
@@ -158,16 +158,14 @@ def update_v(a, u_old, v_old, a_old, ufl=True):
158158
def update_fields(u, u_old, v_old, a_old):
159159
"""Update all fields at the end of a timestep."""
160160

161-
u_vec, u0_vec = u.vector(), u_old.vector()
162-
v0_vec, a0_vec = v_old.vector(), a_old.vector()
163-
164161
# call update functions
165-
a_vec = update_a(u_vec, u0_vec, v0_vec, a0_vec, ufl=False)
166-
v_vec = update_v(a_vec, u0_vec, v0_vec, a0_vec, ufl=False)
162+
a_new = update_a(u, u_old, v_old, a_old)
163+
v_new = update_v(u, u_old, v_old, a_old)
167164

168-
# assign u->u_old
169-
v_old.vector()[:], a_old.vector()[:] = v_vec, a_vec
170-
u_old.vector()[:] = u.vector()
165+
# update values
166+
a_old.assign(project(a_new, V))
167+
v_old.assign(project(v_new, V))
168+
u_old.assign(u)
171169

172170

173171
def avg(x_old, x_new, alpha):
@@ -238,7 +236,6 @@ def avg(x_old, x_new, alpha):
238236
n = n_cp
239237
else:
240238
update_fields(u_np1, u_n, v_n, a_n)
241-
u_n.assign(u_np1)
242239
t += float(dt)
243240
n += 1
244241

0 commit comments

Comments
 (0)