• 沒有找到結果。

Computational Fluid Dyna mics

N/A
N/A
Protected

Academic year: 2022

Share "Computational Fluid Dyna mics"

Copied!
21
0
0

加載中.... (立即查看全文)

全文

(1)

Computational Fluid Dyna mics

Real-time animation of low-Reynolds-number flow using Smoothed Particle Hydrodynamics

presentation by 薛德明 Dominik Seifert B97902122

(2)

Visualization of my results

http://csie.ntu.edu.tw/~b97122/archive/fluid_dyn amics/capture.mp4

My code

http://csie.ntu.edu.tw/~b97122/archive/fluid_

dynamics/OpenTissue_backup.rar

My motivation: From Dust

http

://www.youtube.com/watch?v=CfKQCAxizrA

(3)

The framework OpenTissue

OpenTissue is an open source simulation framew ork with a simple, working SPH implementation

I added some features to their implementation

Their original implementation is described in this 88 page document:

Lagrangian Fluid Dynamics Using Smoothed Parti cle Hydrodynamics

(4)

Smoothed Particle Hydrodynamics Quick review

Note: SPH particles are not actual particles!

They are really fluid samples of constant mass

Particles are placed inside a container to represen t a fluid

Every particle is then assigned a set of initial pr operties

After every time step (a few milliseconds), update the properties of all particles

Use interpolation methods to solve the Navier-Stoke s equation to find force contributions, then integr ate to find new velocity and position

(5)

SPH

Particle Properties

Support Radius (constant)

Minimum interaction distance between particles

Mass (constant; ensures Conservation of Mass explicitly)

Position (varying)

Surface normal (varying)

Velocity (varying)

Acceleration (varying)

Sum of external forces (varying)

Density (varying due to constant mass and varying volum e)

Pressure (varying)

Viscosity (constant)

(6)

Smoothed Particle Hydrodynamics

Solver pseudocode

(7)

Smoothed Particle Hydrodynamics The pressure problem

Fluids cannot be accurately incompressible

Pressure value approximated by Ideal Gas Law:

k called “gas-stiffness”

Entails assumptions of gas in steady state

Does not consider weight pressure

Causes “pulsing” because of lagging interplay between gravity a nd pressure force

Large gas-stiffness can reduce/eliminate the lag and the pulsing

Alternatively, take density to the power of heat capacity ratio

But high pressure requires a smaller time-step and thus makes the simulation more expensive

pV = nRT ⇒ p= ( k ' ) V = k ρ

(8)

My contributions I

Fluid-fluid interactions

In OpenTissue, a system can be comprised of only a single fluid

I changed the code to support more than one fluid at a tim e

The math and physics are mostly the same, except for:

Viscosity

Kernel support radius

Still missing:

Surface tension interfaces between fluids of different polarity

But I still spent three days on changing the framework due to heavily templated C++ code

(9)

My contributions II

Fluid-solid interactions

In OpenTissue only supports static (immovable) obje cts

I wanted to add the ability to add objects that int eract with the fluid, objects that can float, sink etc.

Solid dynamics are very complicated! What are…

Tensile Strength?

Compressive Strength?

Young’s modulus?

I came up with an intuitive but not quite correct a pproach

(10)

My contributions II Restoring force

Place an invisible spring between every two pa rticles that are close to each other initially

Store the initial distance between every two

“neighboring” particles

Add a new spring force component that contribu tes:

k * abs(current_distance – original_distance)

Works for very few particles, but not for many

(11)

My contributions III

Control Volumes - Overview

Control volumes are used in the analysis of fl uid flow phenomena

They are used to represent the conservation la ws in integral form

Conservation of mass over a given (control) vo lume c.v. with surface area c.s.:

= density; u = velocity; n = surface normal

 

0= d

dt

c.v.

ρ dV +

c.s.

ρ (u⋅̂n ) dA

(12)

My contributions III

Control Volumes in SPH

Volume integrators are easy: Simply accumulate all contributions of all particles in volume

Area integrators are trickier

Time derivative can be obtained via difference quotients: for any property

Fluid properties at some point in the field ca n be obtained by interpolation

d η

d t Δ η

Δ t = ηT0+ 1− ηT0

Δ t η

(13)

My contributions III

Field evaluator function

ValueType evaluate(vector pos, real radius, ParticleProperty A):

ParticleContainer particles;

search(pos, radius, particles);

ValueType res = ValueType(0);

foreach particle p in particles:

real W = DefaultKernel.evaluate(pos - p.position);

res += (p.*A)() * p.mass/p.density * W;

return res;

This required me to change the spatial partioning grid to support queries at arbitrary locations

After that, I only had to implement the famous SPH field evaluation template for some property A:

Translates to:

A( x)=

j∈Ω

AjV jW ( x− x j , h)=

j ∈Ω

Aj mj

ρj W ( x −xj , h)

(14)

My contributions III Area Integrator

Goal: Find average of property at discretely sa mpled points

I went for an evenly distributing sampler

Aliasing is not an issue, don’t need random samp ling

# of samples ns should be proportional to # of particles that can fit into the surface:

So we get:

D ̄f =

D

f ( A)dA

c.s.

ρ (u⋅̂n) dA≈ AC 1

ns

j ns

qj= AC ns

j ns

ρ j(u j⋅ ̂nj)

ns=ceil

(

AACp

)

(15)

My contributions III Disk Integrator

real integrateDiskXZ(real ns, vector2 p_center, real r, field_evalutor f):

real q_total = 0

real ds = sqrt(PI / ns) * r //

int samples_in_diameter = sqrt(ns * 4/PI) //

vector2 min = p_center – r

for (int i = 0; i < samples_in_diameter; i++) for (int j = 0; j < samples_in_diameter; j++)

vector2 pos = (min.x + i * ds, min.z + j * ds) if (length(pos - p_center) > r) continue

q_total += f(pos) return q_total / ns

In this approach, every kind of surface needs their own integrator

I only have to consider disks in my pipe flow example

The disk integrator iterates over the cells of an imaginary grid that we lay over the disk to find the average of fluid property f

AC= π

4 (2 r )2=ns⋅ds2 2 r

ds =

π4 ns

(16)

My contributions III

Area Integrator - Considerations

No need to sample over an already sampled set

Can use spatial selection instead:

Find all particles in distance d from the surface

Use scaled smoothing kernel to add up contributions

I was not quite sure how to mathematically scale the k ernel, so I went for the sampling approach

I also used the integrator to place the cylindrically- shaped fluid inside the pipe

(17)

My contributions III Conservation of mass

M T0+ 1M T0

Δ t + AC

ns

j ns

ρ j(u j⋅ ̂n j)

0= d

dt

c.v.

ρ dV +

c.s.

ρ (u⋅̂n ) dA

The integral form:

Becomes:

The first term is the time derivative of Mass inside the c.v.

The second term is the mass flux through the c.v.’s surface area

(18)

Particle boundary deficiency, Holes in the fluid and

Control Volume - Correctness

Boundary deficiency:

Since atmosphere and structure are not represented in this mod el, computations have to cope with a pseudo-vacuum ( 真空 )

Governing equations are adjusted to cope with the deficiency

e.g. Level set function for surface tension considers:

Inside fluid = 1

Outside fluid = 0

C.v.’s must always be completely filled!

Fluid volume is never correct which causes “holes” in the fluid

Think: What is the space between the particles/samples?

C.v. computations can also never be 100% correct!

(19)

Bibliography

[1] OpenTissue @ http://www.opentissue.org/ “ OpenTissue is a collection of generic algorith ms and data structures for rapid development of interactive modeling and simulation.”

[2] Smoothed Particle Hydrodynamics – A Meshf ree Particle Method (book)

[3] Lagrangian Fluid Dynamics Using Smoothed P article Hydrodynamics

[4] Particle-Based Fluid-Fluid Interaction

(20)

Summary

Given high enough gas stiffness, SPH model is OK to simulat e visually appealing real-time flow but is quite inaccurate

OpenTissue SPH implementation is not very mature, lacks a l ot of features

I really miss:

Accurate pressure values

Correct fluid-solid interaction

Arbitrary geometry

I still cannot create real-time interactive applications in volving fluid flow but it was still an insightful endeavour .

(21)

What’s next?

Surface rendering until next week

Then choose one from the list…

Improve SPH implementation

Add generic surfaces (currently only supports implicit primitives)

Make it adaptive (choose sample size dynamically)

Learn solid dynamics and work on Fluid-Structure interaction

More work on surface rendering

Optimized OpenGL/DX/XNA implementation that runs on the GPU

Work on Computational Galactic Dynamics ( 計算星系動力學 )

with professor 闕志鴻 from the Institute of Astronomy ( 天文所 ) 

Simulation of dark matter & fluid during galaxy formation

Work on level sets and the level set method in CFD

with professor Yi-Ju 周 from the Institute of Applied Mechanics ( 應力所 ) 

參考文獻

相關文件

In this paper, we have studied a neural network approach for solving general nonlinear convex programs with second-order cone constraints.. The proposed neural network is based on

Wang, Solving pseudomonotone variational inequalities and pseudo- convex optimization problems using the projection neural network, IEEE Transactions on Neural Network,

The CME drastically changes the time evolution of the chiral fluid in a B-field. - Chiral fluid is not stable against a small perturbation on v

Workshop of Recent developments in QCD and Quantum field theories, 2017

It is interesting to discover that the golden ratio  appears not only in the fluid sink and heat source induced maximum ground surface horizontal displacements, but also on

Moreover, using the software LS-DYNA dynamic responses which include dynamic fillet stresses, contact forces and contact stresses, and transmission errors of a standard spur pair

Peric: Finite volume method for prediction of fluid flow in arbitrarily shaped domains with moving boundaries, International Journal for Numerical Methods in Fluid, Vol.

A., “Analysis of stability of bioconvection of motile oxytactic bacteria in a horizontal fluid saturated porous layer,” International Communications in Heat and Mass Transfer,