User Tools

Site Tools


docs:math:baseflow

This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

In channelflow the total velocity field is broken into a fixed base flow U(y) and a fluctuating part u(x,y,z,t) <latex> u_{tot} = U(y) + u(x,y,z,t) </latex> In previous versions of channelflow you had to explicitly construct a function U(y) and give it to DNS as a parameter. Whether or not u(x,y,z,t) was a fluctuation or the total flow dependend on whether you set U(y) to a nonzero or zero value. In the new version there is a simplified syntax for the most common cases: 1. U(y) = 0 and u(x,y,z,t) = u<sub>tot</sub>, for a channel flow <code> DNSFlags flags; flags.baseflow = Zero; flags.constraint = PressureGradient; flags.dPdx = some real number; ... FlowField u(Nx,Ny,Nz,Lx,Lz,a,b); ... DNS dns(u, nu, dt, flags, T0); </code> 2. U(y) = 1 - y2, a parabolic base flow, and u is the fluctuation, for a channel flow <code> DNSFlags flags; flags.baseflow = Parabola; flags.constraint = PressureGradient; flags.dPdx = some real number; etc. </code> 3. U(y) = y and u is the fluctuation, for plane Couette flow <code> DNSFlags flags; flags.baseflow = PlaneCouette; flags.constraint = PressureGradient; flags.dPdx = 0.0; </code> Another possibility is to set the mean constraint to be BulkVelocity and give a value for flags.Ubulk.\\ The old syntax <code> ChebyCoeff Ubase(Ny,a,b,Physical); for (int ny=0; ny<Ny; ++ny){ Ubase[ny] = 4*(1.0 - square(y[ny])); // or some other prescribed function ... DNS dns(u, Ubase, nu, dt, flags, T0); </code> Is still available in case you want to set U(y) to something like the mean velocity profile of a turbulent flow.

docs/math/baseflow.1417791188.txt.gz · Last modified: 2014/12/05 06:53 (external edit)