/
Computational Fluid Dynamics Computational Fluid Dynamics

Computational Fluid Dynamics - PowerPoint Presentation

lindy-dunigan
lindy-dunigan . @lindy-dunigan
Follow
565 views
Uploaded On 2016-05-08

Computational Fluid Dynamics - PPT Presentation

Realtime animation of lowReynoldsnumber flow using Smoothed Particle Hydrodynamics presentation by 薛德 明 Dominik Seifert B97902122 Visualization of my results httpcsientuedutwb97122archivefluiddynamicscapturemp4 ID: 310515

particles fluid particle contributions fluid particles contributions particle surface real mass dynamics opentissue varying sph smoothed samples time pos

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Computational Fluid Dynamics" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Computational Fluid Dynamics

Real-time animation of low-Reynolds-number flow

using

Smoothed Particle Hydrodynamics

presentation by

薛德

Dominik

Seifert

B97902122Slide2

Visualization of my results

http://csie.ntu.edu.tw/~b97122/archive/fluid_dynamics/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=CfKQCAxizrASlide3

The framework

OpenTissue

OpenTissue

is an open source simulation framework with a simple,

working SPH implementationI added some features to their implementationTheir original implementation is described in this 88 page document:“Lagrangian

Fluid Dynamics Using Smoothed Particle Hydrodynamics”Slide4

Smoothed Particle Hydrodynamics

Quick review

Note

: SPH particles are not

actual particles!They are really fluid samples of constant massParticles are placed

inside a container to represent a fluidEvery particle is then assigned a set of initial propertiesAfter every time step (a few milliseconds), update the properties of all particlesUse interpolation methods to solve the Navier-Stokes equation to find force contributions, then integrate to find new velocity and positionSlide5

SPH

Particle Properties

Support Radius

(

constant)Minimum interaction distance between particlesMass (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 volume)Pressure (varying)Viscosity (constant)Slide6

Smoothed Particle Hydrodynamics

Solver

pseudocodeSlide7

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 stateDoes not consider weight pressureCauses “pulsing” because of lagging interplay between gravity and pressure forceLarge gas-stiffness can reduce/eliminate the lag and the pulsingAlternatively, take density to the power of heat capacity ratioBut high pressure requires a smaller time-step and thus makes the simulation more expensiveSlide8

My contributions I

Fluid-fluid interactions

In

OpenTissue

, a system can be comprised of only a single fluidI changed the code to support more than one fluid at a timeThe math and physics are mostly the same, except for:

ViscosityKernel support radiusStill missing:Surface tension interfaces between fluids of different polarityBut I still spent three days on changing the framework due to heavily templated C++ codeSlide9

My contributions II

Fluid-solid interactions

In

OpenTissue

only supports static (immovable) objectsI wanted to add the ability to add objects that interact 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 approachSlide10

My contributions II

Restoring force

Place an

invisible spring between

every two particles that are close to each other initiallyStore the initial distance between every two “neighboring” particlesAdd a new spring force component

that contributes: k * abs(current_distance – original_distance) Works for very few particles, but not for manySlide11

My contributions III

Control Volumes - Overview

Control volumes are used in the analysis of fluid flow phenomena

They are used to represent the

conservation laws in integral form Conservation of mass over a given (control) volume c.v.

with surface area c.s.: = density; u = velocity; n = surface normal Slide12

My contributions III

Control Volumes in SPH

Volume integrators

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

Area integrators are trickierTime derivative can be obtained via difference quotients: for any property

Fluid properties at some point in the field can be obtained by interpolationSlide13

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:Slide14

My contributions III

Area Integrator

Goal: Find average of property

at

discretely sampled pointsI went for an evenly distributing samplerAliasing is not an issue, don’t need random sampling# of samples

ns should be proportional to # of particles that can fit into the surface: So we get:Slide15

My contributions III

Disk Integrator

real

integrateDiskXZ

(real ns

, vector2 p_center, real r, field_evalutor f):real q_total = 0real 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 integratorI only have to consider disks in my pipe flow exampleThe disk integrator iterates over the cells of an imaginary grid that we lay over the disk to find the average of fluid property fSlide16

My contributions III

Area Integrator - Considerations

No

need to sample over an

already sampled setCan use spatial selection instead:Find all particles in distance d

from the surfaceUse scaled smoothing kernel to add up contributionsI was not quite sure how to mathematically scale the kernel, so I went for the sampling approachI also used the integrator to place the cylindrically-shaped fluid inside the pipeSlide17

My contributions III

Conservation of mass

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 areaSlide18

Particle boundary deficiency,

Holes in the fluid and

Control Volume - Correctness

Boundary deficiency

:Since atmosphere and structure

are not represented in this model, computations have to cope with a pseudo-vacuum (真空)Governing equations are adjusted to cope with the deficiencye.g. Level set function for surface tension considers:Inside fluid = 1Outside fluid = 0C.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!Slide19

Bibliography

[

1]

OpenTissue @ http://www.opentissue.org/

“OpenTissue is a collection of generic algorithms and data structures for rapid development of interactive modeling and simulation

.”[2] Smoothed Particle Hydrodynamics – A Meshfree Particle Method (book)[3] Lagrangian Fluid Dynamics Using Smoothed Particle Hydrodynamics[4] Particle-Based Fluid-Fluid InteractionSlide20

Summary

Given high enough

gas stiffness

, SPH model is OK to simulate visually appealing real-time flow

but is quite inaccurateOpenTissue SPH implementation is not very mature, lacks a lot of featuresI really miss:

Accurate pressure valuesCorrect fluid-solid interactionArbitrary geometryI still cannot create real-time interactive applications involving fluid flow but it was still an insightful endeavour.Slide21

What’s next?

Surface rendering

until next week

Then choose one from the list…

Improve SPH implementationAdd generic surfaces (currently only

supports implicit primitives)Make it adaptive (choose sample size dynamically)Learn solid dynamics and work on Fluid-Structure interactionMore work on surface renderingOptimized OpenGL/DX/XNA implementation that runs on the GPUWork on Computational Galactic Dynamics (計算星系動力學)with professor 闕志鴻 from the Institute of Astronomy (天文所)Simulation of dark matter & fluid during galaxy formationWork on level sets and the level set method in CFD with professor Yi-Ju

周 from the Institute of Applied Mechanics (應力所)