Title: Combined LagrangianEulerian Approach for Accurate Advection
1Combined Lagrangian-Eulerian Approach for
Accurate Advection
Toshiya HACHISUKA (toshiya_at_bee-www.com) The
University of Tokyo
Demo application is available at
http//www.bee-www.com/
Introduction
Mapping Functions
Non-Advection Phase
Grid-based fluid simulations using the
Navier-Stokes equations have become popular for
computer animations of fluid flow. While
grid-based methods have some advantages as
compared with particle-based methods, they also
have a major disadvantage called numerical
diffusion. Numerical diffusion is the numerical
errors that occurs in calculation of advection
equations. This error causes mass dissipation and
motion damping of fluids, so the detail of fluid
animation is filtered out. Both of the artifacts
are visually distracting artifacts in fluid
animations, such as a shrinking water or a rising
smoke without small vortices.
The algorithm updates the mapping functions of
advection equations, not the advected field
itself. It calculates both the mapping function F
and the inverse mapping function G. The update
process of mapping function is performed by
tracing mass-less particles that have positions
as values of mapping functions. The process is
done once per time-step.
In the non-advection phase, the method adds
non-advection terms into the initial field. This
can be done by performing "texture mapping" using
mapping function F as texture coordinates, then
adding the mapped current non-advection terms.
Calculate
Map Add
Forward Tracing of Particles
In this poster, we propose a new algorithm to
accurately calculate advection equations. The
method can calculate highly detailed advection of
arbitrary fields including fields without
boundaries. This property is important because
almost all physical quantities do not have
specific boundaries, like the density field of
smoke or velocity fields. The method can be used
for any application involving advection phenomena
because it is general solver of advection
equations. The following list shows some
features of the proposed method.
Current Field
Non-Advection Terms
Initial Field
Flow Direction
Non-advection terms include any effect like
source term, pressure term and boundary condition
(include moving, arbitrary one). The method can
handle almost all processes which can be handled
by previous semi-Lagrangian methods.
Remapping
- Provides concept of mapping functions of
advection - Greatly reduces numerical diffusion
- Can be applied to any type of fields
- GPU friendly
- Easy to implement
This process is needed at every several
time-steps in practice, to prevent extreme
stretch of the mapping. Remapping process copies
the current field into the initial field and
initializes the mapping functions by the position
of grid points. Our method causes numerical
diffusion only at this process. Note that even if
you perform remapping at every other time-step,
numerical diffusion is reduced compared with
previous grid-based method like semi-Lagrangian
methods.
Backward Tracing of Particles
Algorithm Overview
This process is full-Lagrangian method (i.e.
flow using particles), so numerical diffusion
associated with Eulerian methods does not exist
to the mapping functions. Note that the method
has no problem for time-space varying velocity
fields (even if the velocity field self-advected,
the method can be applied without problems).
Theoretical basis of our method does not impose
restriction for the type of velocity fields (in
practice, it works).
Results
The proposed method mainly consists of the
advection phase and the non-advection phase. In
the advection phase, the method calculates the
current field from the initial field by using the
combined method of lagrangian method and eulerian
method. In the non-advection phase, influences of
non-advection terms are added back to the initial
field by using the mapping functions of advection
equations. The main feature of the method is that
the method retains the initial field and warps
the initial fields into the current advected
field at every time-step. Initial fields,
velocity fields and the current fields are stored
in fixed grid. Mapping functions are also stored
at each grid point as mass-less particles.
As a preliminary result, we have implemented
2D/3D smoke simulation using the Navier-Stokes
equations. Our method produces highly detailed
fluid motion/appearance because it greatly
prevents numerical diffusion. In addition,
computation time per frame is almost the same
because calculation of advection is not the
bottleneck of fluid simulation. We also have
implemented the method on GPUs. Interactive demo
application is available on the above website.
Advection Phase
In the advection phase, the method warps
initial field into the current advected field.
This can be done by performing texture mapping
of initial fields using inverse mapping function
G as texture coordinates. The order of the method
is determined by the order of filtering function
for texture mapping. If you use cubic filtering
function, the method becomes 3rd-order in space.
The method is not restricted to 1st-order in
space.
Semi-Lagrangian Method
Advection Phase
Initial Field
Mapping Function G
Current Field
Our Method
Interpolate at G
Map
Mapping Function F
Non-Advection Terms
Initial Field
Current Field
The method is easy to implement if you have
already implemented semi-Lagrangian methods
because the required processes are similar.
Moreover, the method is suitable for GPU
implementation because fundamental process is the
same as texture mapping.
Non-Advection Phase
This process can be viewed as a extension of
semi-Lagrangian methods. While semi-Lagrangian
methods use the upstream positions by one
time-step, our method uses the upstream positions
by several time-step. The advantage over
particle-based methods, which have no numerical
diffusion, is that the fields are defined
continuously. Note that each grid point of the
field is associated with exactly one particle of
the mapping functions.
Since our method always constructs the current
field from the initial field, the error in
current field is not accumulated. In contrast,
since previous Eulerian methods for advection
equations uses the previous fields to calculate
the current field, the error is accumulated and
becomes numerical diffusion.
- Future work
- Applying the method to various fluid phenomena
- Developing more consistent remapping process
- Modifying the method to mesh-less calculation