29 for (
int _s = 0;
_s < 1;
_s++) {
trace void advection(scalar *tracers, vector u, double dt, scalar *src=NULL)
The function below uses the tracer_fluxes function to integrate the advection equation,...
static void refine_embed_linear(Point point, scalar s)
static void restriction_volume_average(Point point, scalar s)
static void refine_linear(Point point, scalar s)
void set_prolongation(scalar s, void(*prolongation)(Point, scalar))
void set_restriction(scalar s, void(*restriction)(Point, scalar))
double dt
These come from the multilayer solver.
event tracer_diffusion(i++, last)
Diffusion can be added by overloading this hook.
scalar * tracers
Here we set the gradient functions for each tracer (as defined in the user-provided tracers list).
event vof(i++, last)
VOF advection happens here.
void event_defaults(void)
On adaptive meshes, tracers need to use linear interpolation (rather than the default bilinear interp...
void event_tracer_advection(void)
The integration is performed using the Bell-Collela-Glaz scheme.
vector uf
We allocate the (face) velocity field.