The advection-diffusion models consist of two-dimensional kinematic fluid velocity fields which can be used to advect particles with a specified diffusivity. This project also contains code to estimate kinematic model parameters from a given set of particles.
Start by initializing and visualizing a kinematic model,
jet = MeanderingJet();
figure
jet.plotStreamfunction(), hold on
jet.plotVelocityField()
Now that we have a KinematicModel
initialized, we can use that in the AdvectionDiffusionIntegrator
.
kappa = 1e3;
integrator = AdvectionDiffusionIntegrator(jet,kappa);
Let's choose appropriate time scales to integrate
T = 5*jet.Lx/jet.U;
dt = 864;
and place particles throughout the valid domain
x = linspace(min(jet.xlim),max(jet.xlim),6);
y = linspace(min(jet.ylim),max(jet.ylim),6);
[x0,y0] = ndgrid(x,y);
Finally, we now use the integrator to generate some trajectories
[t,x,y] = integrator.particleTrajectories(x0,y0,T,dt);
figure
jet.plotVelocityField(), hold on
jet.plotTrajectories(x,y)
A kinematic model (in this context) is a parametric two-dimensional fluid velocity field which may or may not be time-dependent.