Channelflow 2.0

Independent velocities at the two walls

Another option I am interested in is the possibility of setting the wall velocities independently, rather than having +- Uwall at the two walls. This would be useful for studying Poiseuille flow with in a frame with no mean flux (the two walls must travel at velocity -2/3) or for studying Poiseuille-Couette flow.

You are right that such a setting is not possible via the command line at the moment. There is an easy workaround: You can set the wall velocity independently in a channelflow program, e.g. manipulate simulateflow. An object of type dnsflags has the members uupperwall and ulowerwall. You can set them differently to study the boundary conditions of Poiseuille-Couette.
We will consider providing such a more flexible setting also via the command line.

Best regards,

Latey I’ve been working on continuations between plane Couette, plane Poiseuille, and asymptotic suction boundary layer, and it’s led me to think we should allow independent wall motion specification as Laurette suggests. E.g. I’d like to be able to do ASBL wall BCs as (0,1) rather than (-1/2, 1/2). It would make a number of things simpler, and it also probaby allow larger time steps, as the fluctuating flow concentrated near the lower wall would not be advecting backwards through the grid.

On a related issue, I also think it woud be more consistent with treatment of other flow-condition parameters like Ubulk, Pgrad, Vsuck to have Uwall default to zero (assuming we continue to default to (-Uwall, Uwall) BCs if they’re not explicitly set to be different). Ie. have all the base flow parameters set to zero, and specifiy which of PCF, PPF, ASBL you want by setting the one or more of Ubulk, Pgrad, Vsuck, Uwall or Ulower, Uupper as nonzero.

Ok, so my proposal is this. The default is Uwall = Ulower = Uupper = 0. If Uwall is set nonzero, then BCs are (-Uwall, Uwall). If Uwall is left at zero but either Uupper or Ulower is set, then BCs are set to (Ulower, Uupper).

As Florian says it would be easy to implement this; it’s just translating command-line parameters as they’re parsed to the general-case dnsflags specifiation.