the method of regularized stokeslets
Post on 14-Apr-2017
239 Views
Preview:
TRANSCRIPT
THE METHOD OF REGULARIZED STOKESLETS
Mingj ie Zhu14 t h , August , 2015
Be i j ing Computat iona l Sc ience Research Center
STOKES FLOW In the common case of an incompressible Newtonian fluid, the Stokes equations
take the (vectorized) form:
GREEN'S FUNCTION SOLUTION: THE STOKESLET
We first consider the generic situation in which the force are spread over a small ball
centered at the points . The force is given by
Then we define a function called Green’s function
And another function
GREEN'S FUNCTION SOLUTION: THE STOKESLET
Take the divergence of Stokes equations, we find that the pressure satisfies
Which gives the particular solution
Now we use this expression to rewrite the equation for as , whose particular solution is
GREEN'S FUNCTION SOLUTION: THE STOKESLET
REGULARIZED STOKESLETS The method of regularized Stokeslets assumes the force is not a Dirac delta applied at a
single point but uses a shape function. We use to denote this function, which is a radially
symmetric smooth function with the property that . The parameter determines the spread
of the function.
EXAMPLES OF THESE FUNCTIONS
In :
In :
DERIVING AND Since is radially symmetric and , we have that
And
After integrating once more, we obtain . Then, we can get in the same way.
FINAL RESULTS
FINDING FORCES FROM VELOCITIES We can write last equations into
Or, as a matrix equation:
Which is to solve F using U and F. However, it is impossible to calculate the inverse of directly. We use GMRES with zero initial guess.
Radius=1, velocity=(0.4, 0)
ALGORITHM1. Create all Stokeslets: define their coordinates and initial velocities;
2. Calculate each element in the matrix ;
3. Solve the matrix equation using GMRES to obtain forces in each Stokeslet; (Normally,
GMRES can iterate converging to the tolerance 1e-8)
4. Calculate velocity of other points in the Stokes flow field;
5. Plot the result in the screen or output these result.
RESULTS COMPARE: A 2D CIRCLE
Radius=0.25, velocity=(1, 0)
Up: the x component of velocityDown: the y component of velocity
RESULTS COMPARE: A 3D SPHERE
Radius=1.2, velocity=(0.5, 0, 0)When z=0.
Up: the x component of velocityDown: the y component of velocity
RESULTS COMPARE: A 3D SPHEREx y stokes_u stokes_v analytical_u analytical_v error_u error_v1 1 0.346046 0.034137 0.351291 0.0356382 0.014931 0.0421331 1.3 0.29273 0.04787 0.296579 0.0492919 0.012979 0.0288511 1.6 0.245579 0.049912 0.248442 0.0510662 0.011525 0.0226031 1.9 0.207925 0.046623 0.210136 0.0475185 0.010524 0.0188451 2.2 0.178654 0.041589 0.180432 0.042281 0.009856 0.0163661 2.5 0.155852 0.036406 0.157331 0.0369465 0.009398 0.0146421 3.7 0.101882 0.021099 0.102764 0.0213386 0.008585 0.0112071 4 0.093677 0.018602 0.0944791 0.018804 0.008491 0.010768
1.6 4 0.095528 0.026299 0.0963557 0.0265792 0.008586 0.0105351.6 4.3 0.088386 0.023647 0.0891441 0.0238912 0.0085 0.0102341.6 4.6 0.082207 0.021328 0.0829062 0.0215431 0.008432 0.0099841.6 4.9 0.076817 0.0193 0.0774665 0.0194909 0.008378 0.0097741.9 1 0.27197 0.046623 0.275412 0.0475185 0.012498 0.0188451.9 2.2 0.173029 0.050128 0.174771 0.0508224 0.009968 0.013657
RESULTS COMPARE: A 3D SPHERE
APPLICATION: BACTERIA
IMPLEMENTATION USING C++1. Run faster (Native code and OpenMP supported);
2. Better readability;
3. Expandable.
top related