Only u_n is considered by the checkpointing. But we should also properly checkpoint v_n and a_n. There is already a prototype implementation on this branch (don't merge this branch, it has a different purpose!)
The most important part is
|
solve(A, u_np1.vector(), b_forces) |
|
|
|
a_np1 = project(update_acceleration(u_np1, u_n, v_n, a_n, ufl=False), V) |
|
v_np1 = project(update_velocity(a_np1, u_n, v_n, a_n, ufl=False), V) |
|
|
|
t, n, precice_timestep_complete, precice_dt, Forces_x, Forces_y = precice.advance(u_np1, (u_np1, v_np1, a_np1), (u_n, v_n, a_n), t, float(dt), n) |
Only
u_nis considered by the checkpointing. But we should also properly checkpointv_nanda_n. There is already a prototype implementation on this branch (don't merge this branch, it has a different purpose!)The most important part is
tutorials/FSI/cylinderFlap/OpenFOAM-FEniCS/Solid/cyl-flap.py
Lines 238 to 243 in b3b4985