commit 2a7c8d7a45d5230b37b8f1f66d85f215cd723cea
parent e7891950678380a344eb8731c6c36447f9d00492
Author: Ivan Gankevich <i.gankevich@spbu.ru>
Date: Tue, 30 Jun 2020 12:17:29 +0300
Talk.
Diffstat:
Makefile | | | 47 | ++++++++++++++++++++++------------------------- |
talk.org | | | 106 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
2 files changed, 128 insertions(+), 25 deletions(-)
diff --git a/Makefile b/Makefile
@@ -8,36 +8,33 @@ FLAGS = \
-bibtex \
-shell-escape
-NAME = iccsa-20-wind
-SLIDES = iccsa-20-wind-slides
-
-all: build/$(NAME).pdf
-all: build/$(SLIDES).pdf
+all: build/main.pdf
+all: build/slides.pdf
all: build/254-Gankevich-Air-flow-around-ship.pdf
-build/$(NAME).pdf: build/inkscape/law-of-reflection.eps
-build/$(NAME).pdf: build/gnuplot/verification.eps
-build/$(NAME).pdf: build/gnuplot/velocity.eps
-build/$(NAME).pdf: build/gnuplot/openmp.svg
-build/$(NAME).pdf: build/ships/aurora.eps
-build/$(NAME).pdf: build/ships/diogen.eps
-build/$(NAME).pdf: build/ships/micw.eps
-build/$(NAME).pdf: main.tex
-build/$(NAME).pdf:
+build/main.pdf: build/inkscape/law-of-reflection.eps
+build/main.pdf: build/gnuplot/verification.eps
+build/main.pdf: build/gnuplot/velocity.eps
+build/main.pdf: build/gnuplot/openmp.svg
+build/main.pdf: build/ships/aurora.eps
+build/main.pdf: build/ships/diogen.eps
+build/main.pdf: build/ships/micw.eps
+build/main.pdf: main.tex
+build/main.pdf:
@echo " LATEX $<"
@-$(LATEXMK) $(FLAGS) -f main.tex
-build/$(SLIDES).pdf: build/gnuplot/aurora.eps
-build/$(SLIDES).pdf: build/gnuplot/cylinder-1.eps
-build/$(SLIDES).pdf: build/gnuplot/cylinder-2.eps
-build/$(SLIDES).pdf: build/gnuplot/openmp.svg
-build/$(SLIDES).pdf: build/gnuplot/ship-roll.eps
-build/$(SLIDES).pdf: build/gnuplot/ship-velocity.eps
-build/$(SLIDES).pdf: build/inkscape/law-of-reflection.eps
-build/$(SLIDES).pdf: build/ships/aurora.eps
-build/$(SLIDES).pdf: build/ships/diogen.eps
-build/$(SLIDES).pdf: build/ships/micw.eps
-build/$(SLIDES).pdf: slides.tex
+build/slides.pdf: build/gnuplot/aurora.eps
+build/slides.pdf: build/gnuplot/cylinder-1.eps
+build/slides.pdf: build/gnuplot/cylinder-2.eps
+build/slides.pdf: build/gnuplot/openmp.svg
+build/slides.pdf: build/gnuplot/ship-roll.eps
+build/slides.pdf: build/gnuplot/ship-velocity.eps
+build/slides.pdf: build/inkscape/law-of-reflection.eps
+build/slides.pdf: build/ships/aurora.eps
+build/slides.pdf: build/ships/diogen.eps
+build/slides.pdf: build/ships/micw.eps
+build/slides.pdf: slides.tex
@echo " LATEX $<"
@-$(LATEXMK) $(FLAGS) -xelatex -f $<
diff --git a/talk.org b/talk.org
@@ -0,0 +1,106 @@
+* Slide 1
+
+Good afternoon, ladies and gentlemen! My name is Ivan and I will talk about ship
+motion simulator that we develop in our department called Virtual Testbed. My
+first talk is about air flow solver that is used to efficiently simulate air
+flow around ship hull.
+
+* Slide 2
+
+In ship motion simulators the air flow is modelled mainly to measure the effect
+of the wind on ship roll angle, i.e. how the stability of the ship changes due
+to the wind. Since the effect is usually smaller than the effect from ocean
+waves, many simulators neglect it and do not take air flow into account, others
+use numerical schemes to compute it. Numerical schemes give precise solution,
+but are too inefficient to be used for real-time visualisation of ship motion.
+This deficiency led us to the development of the new analytic method that is
+precise enough but also fast enough to be used in real-time visualisation.
+
+* Slide 3
+
+Our method, like many others, starts with governing system of equations for
+potential flow which includes
+- equation of continuity (that describes conservation of mass),
+- equation of motion (that describes conservation of momentum) and
+- boundary condition on the ship hull (that nullifies wind velocity on the
+ boundary).
+The ship hull is defined by a parametric surface and surface normal exists at
+any point on the surface. This approach so far is classical. What differentiates
+this approach from many others is the use of the /law of reflection/ to write the
+solution to this system of equations.
+
+* Slide 4
+
+Informally, the law of reflection states that
+- the incident ray, the reflected ray and the surface normal lie in the same plane and
+- the angle of incidence equals the angle of reflection.
+This law describes how light ray reflects from the mirror, but we use it to
+describe how air particles reflect from the ship hull. In the literature we
+found similar usage of this law for ocean waves which is the subject of my next
+talk.
+
+In the picture \(\vec\upsilon_r\) is velocity vector of the reflected air
+particle. It is derived from the velocity vector of incident air particle using
+the formula written using basic geometric principles. Using this notation the
+solution for the governing system of equations is written like this and total
+velocity is written simply as the sum of velocity vectors for incident and
+reflected air particles. The coefficient \(C\) is derived from the boundary
+condition and quite surprisingly equals 1. So, on the ship hull boundary total
+velocity is simply the sum of the velocities of the reflected and incident air
+particles! In other words, the law of reflection is accurate enough to describe
+the air flow on the boundary.
+
+In order to compute air flow near the boundary we introduce quadratic decay term
+(that nullifies the effect of the reflection with the squared distance from the
+boundary) and take an average velocity of air particles reflected from each
+point of the ship hull surface. You can find full derivations in the paper.
+
+* Slide 5
+
+We compared the formula to the known formula for potential flow around a cylinder.
+This formula is usually written in polar coordinates but if you write it in the
+Cartesian form you will get the formula on the right. And if you take our solution
+and use explicit formula for cylinder normal and flow velocity you will get the same
+expression on the right. So, quite surprisingly, our solution on the boundary is
+mathematically equivalent to the known solution for a cylinder! The advantage of
+our solution is that you can use it for the body of any form, not just cylinder.
+
+Near the boundary the solutions differ, because of the introduction of the
+artificial quadratic decay term. However, in order to simulate the effect on
+ship motions we need only the solution on the boundary.
+
+* Slide 6
+
+We applied our solution to simulate air flow around Aurora's ship hull. We
+directed the wind the starboard of the ship and after a number of experiments
+found that our formula cannot bend the ship no matter how large the wind
+velocity is. The reason for this is that ship hull is symmetric and the
+pressure on the starboard equals the pressure on the port. To solve this
+problem, we introduced a coefficient that controls reflection ratio. If the
+coefficient is \(1\) we use the usual law of reflection, and if it is \(0\) we
+do not use reflection. We set the coefficient to \(1/2\) and ran experiments
+again, only to find that we need a hurricane in order to bend the ship by one
+degree.
+
+* Slide 7
+
+In order to revive our hope in the project, we decided to measure performance of
+our solvers. Analytic solutions never failed to produce astonishing speedups on
+graphical accelerators and it was the case for air flow solver. We ran
+performance benchmarks using three ships of different sizes with different
+number of panels on the three different computers. As you can see from the
+table, OpenCL version for graphical accelerators outperforms OpenMP version for
+CPUs by an order of magnitude in all cases. At least, we can write efficient code!
+
+* Slide 8
+
+To summarise, in this work we
+- found a new analytic solution that describes potential flow around ship hull
+ based on the law of reflection,
+- this solution is equivalent to the solution for a cylinder, but can be used for
+ the object of any form,
+- this solution has high computational performance especially on graphical accelerators,
+- but it is not good enough to accurately simulate the effect of the
+ wind on the ship hull due to the symmetry of the latter.
+The future work is to incorporate turbulence in the model to see if its enough to solve
+the symmetry problem.