Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Level set methods in Cactus Carbunescu Razvan Corneliu
Implementation of Level Set Methodsin Cactus Framework
By Carbunescu Razvan Corneliu
Level set methods in Cactus Carbunescu Razvan Corneliu
Introduction
•Computational Fluid Dynamics is used as avaluable engineering simulation tool to understandand design complex systems involving fluid flow,heat transfer, mixing and multiphase flows.
•a simple example of multiphase fluid flow wouldbe a drop of water falling into a glass
•these problems involve complex boundary andinterface conditions evolving in time and thereforelevel set methods can be a powerful tool to handlesuch problems computationally
Level set methods in Cactus Carbunescu Razvan Corneliu
Level Set Methods
•are a general and powerful technique to representan object's boundary by the means of an implicitfunction that has a specific value on the boundary
•allows for the easy modeling of interfaces betweendifferent fluids that interact by the use of partialdifferential equations to represent the interactions
•are used extensively in Computational FluidDynamics (CFD) because of these abilities
Level set methods in Cactus Carbunescu Razvan Corneliu
Cactus Framework
•“is a framework for developing portable, modularapplications, in particular, although not exclusively,high-performance simulation code”
•provides great flexibility for the written codeallowing for it to be easily modified to meet newneeds
•is an open source code so also allows for furtherdevelopment by any other interested parties
Level set methods in Cactus Carbunescu Razvan Corneliu
Zalesak’s problem
•problem discusses the movement of a notched discthat is rotating in a given velocity field
•Zalesak’s problem has often been used in papersto test the implementation of level set methods
•the disc should maintain constant volume after onefull rotation with the use of level set methodsalthough the shape is not preserved with simplelevel set methods
Level set methods in Cactus Carbunescu Razvan Corneliu
Implicit functions
•a function which has a value of 0 on the boundaryor interface of the object, negative inside, andpositive outside
•these functions are easily manipulated by the useof partial differential equations
•the best choice for level set methods is the SignedDistance Function (SDF)
–d if x is inside the object
SDF(x)= 0 if x is on the interface
+d if x if outside the object
Level set methods in Cactus Carbunescu Razvan Corneliu
Signed Distance Function
•the value of the function is the distance from theinterface (d) with a negative or positive signassigned depending on it’s location inside oroutside the object
Equation of movement
•the evolution of an object represented by an implicit functionin an external velocity field is given by the following partialdifferential equation:
Where:
Level set methods in Cactus Carbunescu Razvan Corneliu
∂Φ∂t + V ۰ ▼Φ = 0▼
→
V= ( u , v , w ) and→ → → → ▼Φ = ( , , )▼
∂Φ∂x∂Φ∂y∂Φ∂z
Level set methods in Cactus Carbunescu Razvan Corneliu
Discretization
•partial derivatives are represented by discretizedapproximations
•this schemes used are upwind differencing and are first orderaccurate
∂Φ∂t
Φ – Φ .n+1i,j,k
ni,j,k≈ Δt
∂Φ∂x
Φ – Φ .ni,j,k
ni-1,j,k
Δx
∂Φ∂y
Φ – Φ .ni,j,k
ni,j-1,k
Δy∂Φ∂z
Φ – Φ .ni,j,k
ni,j,k-1
Δz≈
≈
≈
Stability concerns
•the schemes are not stable for all timesteps and velocities
•a scheme’s stability can be determined by analysis of a factorknown as the Courant number
Level set methods in Cactus Carbunescu Razvan Corneliu
Level set methods in Cactus Carbunescu Razvan Corneliu
Reinitialization importance
•the equation presented before changes the nature ofthe function after a number of time steps
•constant reinitialization of the function to the signeddistance function is needed to preserve it’s qualities
•the reinitialization technique chosen for the example isa slight variant to the Fast Marching Method algorithm
•the FMM algorithm first adds the values closest to theinterface to a list and then continues to expand thatband
Level set methods in Cactus Carbunescu Razvan Corneliu
Reinitialization algorithm
•uses only the neighbors of any point and their sources on theinterface to determine the value at that point
where:
- points on the grid
- points near the interface
- currently selected point in the list
- currently selected neighbor
- other points around the neighbor
- points at which the neighbor looks
for determining the S.D.F.
Reinitialization results
•The following results are on a grid size of 100x100 and witha timestep of dt = 0.0005
Level set methods in Cactus Carbunescu Razvan Corneliu
Level set methods in Cactus Carbunescu Razvan Corneliu
Current status and future work
•The implementation has been partly moved to parallelbut there are still a few problems to work out with theparallel reinitialization algorithm
•The next move will be to move the thorns in Cactusfrom 2D to 3D and implement higher order accurateschemes (2nd order has been implemented but still needstesting)
•After that will be accomplished more advancedproblems like multiphase flow and curvature driven flowswill be implemented
Level set methods in Cactus Carbunescu Razvan Corneliu
Acknowledgements
•The Center for Computation and Technology at LSU andtheir excellent technical, academic and organizationalpersonnel which helped me with the research.
•I would especially like to thank Dr. Gabrielle Allen,Mr.Yaakoub el Khamra, Dr. Mayank Tyagi and Ms. KathyTraxler
•The Department of Computer Science, the ACM and theStudent Government organizations at LSU for helpingfund the presentation
Level set methods in Cactus Carbunescu Razvan Corneliu
Thank you !