Double-acting piston simulation

Using the pimpleDyMFoam solver (transient incompressible flow with moving mesh) in OpenFOAM, I created a 2D simulation of a flow driven by a prescribed-displacement piston. The top and bottom channels have boundary conditions which allow inflow only from the left, and outflow only from the right (modeling check valves). The fluid properties are that of water and no turbulence model was set. Total simulated time was 6 seconds.

Velocity magnitude contour

Velocity vectors