precice-config-explicit.xml (1.8 KB)
The configuration is attached.
I’m testing and learning the coupling procedure for a further FSI problem. So I use python for both Fluid and Solid solvers.
The solid solver calculate the deflection of a a flap based on the force from the fluid solver. The grid points are artificially created in a one-dimension fashion. Since preCICE needs 2D or 3D meshes, I set all the x-coordinates zero for a vertical flap and only y coordinates are set accordingly).
For fluid, the first half use a small dx, and the second half use a larger increment.
`
grid = np.zeros([ns, dimensions])
grid[:, 1] = np.linspace(0, length, ns) # y component
dx = grid[1,1] - grid[0,1]
for i in range(1, ns):
if i < ns/2:
grid[i,1]=grid[i-1,1] + dx/2
else:
grid[i,1]=grid[i-1,1] + 3/2*dx
`
The solid grid is uniformly created:
`
grid = np.zeros([ns, dimensions])
grid[:, 1] = np.linspace(0, length, ns) # y component
grid[:, 0] = 0 # x component, leave blank
`
It seems the solution blows up after some iteration with non-matching mesh. For non-conforming uniform meshes, it runs well.
The error message given by the solid participant is as follows:
Solid: Advanceing in time
—[precice] Time window completed
—[precice] iteration: 1, time-window: 277, time: 2.76 of 100, time-window-size: 0.01, max-timestep-length: 0.01, ongoing: yes, time-window-complete: yes,
OK3
Iter = 276, Err = 9.76966e-01
Solid: Advanceing in time
—[precice] Time window completed
—[precice] iteration: 1, time-window: 278, time: 2.77 of 100, time-window-size: 0.01, max-timestep-length: 0.01, ongoing: yes, time-window-complete: yes,
OK3
Iter = 277, Err = 1.00000e+00
Solid: Advanceing in time
—[precice] Time window completed
—[precice] iteration: 1, time-window: 279, time: 2.78 of 100, time-window-size: 0.01, max-timestep-length: 0.01, ongoing: yes, time-window-complete: yes,
OK3
Iter = 278, Err = nan
Solid: Advanceing in time
—[precice] Time window completed
—[precice] iteration: 1, time-window: 280, time: 2.79 of 100, time-window-size: 0.01, max-timestep-length: 0.01, ongoing: yes, time-window-complete: yes,
Iter = 279, Err = nan
Solid: Advanceing in time ---[precice] Time window completed ---[precice] iteration: 1, time-window: 281, time: 2.8 of 100, time-window-size: 0.01, max-timestep-length: 0.01, ongoing: yes, time-window-complete: yes, OK3 Iter = 280, Err = nan