talk.org (5654B)
1 * Slide 1 2 3 Good afternoon, ladies and gentlemen! My name is Ivan and I will talk about ship 4 motion simulator that we develop in our department called Virtual Testbed. My 5 first talk is about air flow solver that is used to efficiently simulate air 6 flow around ship hull. 7 8 * Slide 2 9 10 In ship motion simulators the air flow is modelled mainly to measure the effect 11 of the wind on ship roll angle, i.e. how the stability of the ship changes due 12 to the wind. Since the effect is usually smaller than the effect from ocean 13 waves, many simulators neglect it and do not take air flow into account, others 14 use numerical schemes to compute it. Numerical schemes give precise solution, 15 but are too inefficient to be used for real-time visualisation of ship motion. 16 This deficiency led us to the development of the new analytic method that is 17 precise enough but also fast enough to be used in real-time visualisation. 18 19 * Slide 3 20 21 Our method, like many others, starts with governing system of equations for 22 potential flow which includes 23 - equation of continuity (that describes conservation of mass), 24 - equation of motion (that describes conservation of momentum) and 25 - boundary condition on the ship hull (that nullifies wind velocity on the 26 boundary). 27 The ship hull is defined by a parametric surface and surface normal exists at 28 any point on the surface. This approach so far is classical. What differentiates 29 this approach from many others is the use of the /law of reflection/ to write the 30 solution to this system of equations. 31 32 * Slide 4 33 34 Informally, the law of reflection states that 35 - the incident ray, the reflected ray and the surface normal lie in the same plane and 36 - the angle of incidence equals the angle of reflection. 37 This law describes how light ray reflects from the mirror, but we use it to 38 describe how air particles reflect from the ship hull. In the literature we 39 found similar usage of this law for ocean waves which is the subject of my next 40 talk. 41 42 In the picture \(\vec\upsilon_r\) is velocity vector of the reflected air 43 particle. It is derived from the velocity vector of incident air particle using 44 the formula written using basic geometric principles. Using this notation the 45 solution for the governing system of equations is written like this and total 46 velocity is written simply as the sum of velocity vectors for incident and 47 reflected air particles. The coefficient \(C\) is derived from the boundary 48 condition and quite surprisingly equals 1. So, on the ship hull boundary total 49 velocity is simply the sum of the velocities of the reflected and incident air 50 particles! In other words, the law of reflection is accurate enough to describe 51 the air flow on the boundary. 52 53 In order to compute air flow near the boundary we introduce quadratic decay term 54 (that nullifies the effect of the reflection with the squared distance from the 55 boundary) and take an average velocity of air particles reflected from each 56 point of the ship hull surface. You can find full derivations in the paper. 57 58 * Slide 5 59 60 We compared the formula to the known formula for potential flow around a cylinder. 61 This formula is usually written in polar coordinates but if you write it in the 62 Cartesian form you will get the formula on the right. And if you take our solution 63 and use explicit formula for cylinder normal and flow velocity you will get the same 64 expression on the right. So, quite surprisingly, our solution on the boundary is 65 mathematically equivalent to the known solution for a cylinder! The advantage of 66 our solution is that you can use it for the body of any form, not just cylinder. 67 68 Near the boundary the solutions differ, because of the introduction of the 69 artificial quadratic decay term. However, in order to simulate the effect on 70 ship motions we need only the solution on the boundary. 71 72 * Slide 6 73 74 We applied our solution to simulate air flow around Aurora's ship hull. We 75 directed the wind the starboard of the ship and after a number of experiments 76 found that our formula cannot bend the ship no matter how large the wind 77 velocity is. The reason for this is that ship hull is symmetric and the 78 pressure on the starboard equals the pressure on the port. To solve this 79 problem, we introduced a coefficient that controls reflection ratio. If the 80 coefficient is \(1\) we use the usual law of reflection, and if it is \(0\) we 81 do not use reflection. We set the coefficient to \(1/2\) and ran experiments 82 again, only to find that we need a hurricane in order to bend the ship by one 83 degree. 84 85 * Slide 7 86 87 In order to revive our hope in the project, we decided to measure performance of 88 our solvers. Analytic solutions never failed to produce astonishing speedups on 89 graphical accelerators and it was the case for air flow solver. We ran 90 performance benchmarks using three ships of different sizes with different 91 number of panels on the three different computers. As you can see from the 92 table, OpenCL version for graphical accelerators outperforms OpenMP version for 93 CPUs by an order of magnitude in all cases. At least, we can write efficient code! 94 95 * Slide 8 96 97 To summarise, in this work we 98 - found a new analytic solution that describes potential flow around ship hull 99 based on the law of reflection, 100 - this solution is equivalent to the solution for a cylinder, but can be used for 101 the object of any form, 102 - this solution has high computational performance especially on graphical accelerators, 103 - but it is not good enough to accurately simulate the effect of the 104 wind on the ship hull due to the symmetry of the latter. 105 The future work is to incorporate turbulence in the model to see if its enough to solve 106 the symmetry problem.