pyro.incompressible_viscous.problems package#

Submodules#

pyro.incompressible_viscous.problems.cavity module#

Initialize the lid-driven cavity problem. Run on a unit square with the top wall moving to the right with unit velocity, driving the flow. The other three walls are no-slip boundary conditions. The initial velocity of the fluid is zero.

Since the length and velocity scales are both 1, the Reynolds number is 1/viscosity.

References: https://doi.org/10.1007/978-3-319-91494-7_8 https://www.fluid.tuwien.ac.at/HendrikKuhlmann?action=AttachFile&do=get&target=LidDrivenCavity.pdf

pyro.incompressible_viscous.problems.cavity.finalize()[source]#

print out any information to the user at the end of the run

pyro.incompressible_viscous.problems.cavity.init_data(my_data, rp)[source]#

initialize the lid-driven cavity

pyro.incompressible_viscous.problems.converge module#

Initialize a smooth incompressible+viscous convergence test. Here, the velocities are initialized as

u(x,y)=12cos(2πx)sin(2πy)v(x,y)=1+2sin(2πx)cos(2πy)

and the exact solution at some later time t, for some viscosity nu, is

u(x,y,t)=12cos(2π(xt))sin(2π(yt))e8π2νtv(x,y,t)=1+2sin(2π(xt))cos(2π(yt))e8π2νtp(x,y,t)=(cos(4π(xt))+cos(4π(yt)))e16π2νt

The numerical solution can be compared to the exact solution to measure the convergence rate of the algorithm.

pyro.incompressible_viscous.problems.converge.finalize()[source]#

print out any information to the user at the end of the run

pyro.incompressible_viscous.problems.converge.init_data(my_data, rp)[source]#

initialize the incompressible viscous converge problem

pyro.incompressible_viscous.problems.plot_cavity module#

pyro.incompressible_viscous.problems.plot_cavity.get_args()[source]#
pyro.incompressible_viscous.problems.plot_cavity.makeplot(plotfile_name, outfile, Reynolds, streamline_density)[source]#

plot the velocity magnitude and streamlines

pyro.incompressible_viscous.problems.shear module#

Initialize the doubly periodic shear layer (see, for example, Martin and Colella, 2000, JCP, 163, 271). This is run in a unit square domain, with periodic boundary conditions on all sides. Here, the initial velocity is:

u(x,y,t=0)={tanh(ρs(y1/4))if y1/2tanh(ρs(3/4y))if y>1/2
v(x,y,t=0)=δssin(2πx)
pyro.incompressible_viscous.problems.shear.finalize()[source]#

print out any information to the user at the end of the run

pyro.incompressible_viscous.problems.shear.init_data(my_data, rp)[source]#

initialize the incompressible shear problem