Title: Numerical methods for solidification
1Numerical methods for solidification
http//www.win.tue.nl/keesverh/presentations/pres
numlab.pdf
2Project Laser percussion drillingsee
http//www.win.tue.nl/keesverh/can be divided
in
- Melting
- Splashing
- Solidificationsee http//www.win.tue.nl/keesverh
/presentations/presaday.ppt
3Solidification
- Unknowns
- Equations
- Conservation of mass
- Burgers equation
- Heat equation
4Numerics of solidification model(Software to be
found in NumLab oml-toolbox version 2.12)
FEM Sepran (Fortran)
SLM Burgers C
SLM Mass C
Software for boxed part is shown on next slide,
green arrows indicate usage of splines
5SLM-part verhoeven library
- Consists of
- MInit initialization of u and h
- MUpdateU SLM for Burgers equation
- MUpdateH SLM for mass equation
- These two specific implementations are typical
for my - research, but can be changed easily.
- MDFxLimiter defines the slope limiter function
used in a SLM - MIteration comprised of MDFxLimiter (2x),
MUpdateU and MUpdateH
6SLM-part verhoeven library
Part of verhoeven-3d.sav.C, use of Mloop can be
seen in network.
7Side step generate MPEG using VTK-library
Part of verhoeven-3d-with-mpeg.sav.C
8Numerics of solidification model
FEM Sepran (Fortran)
SLM Burgers C
SLM Mass C
Green arrows indicate usage of splines
9Splines
- pppack (piecewise polynomial package)from
www.netlib.org ( d/s) - Above indicated part of pppack can be found in
library pppackoperators - This code is made available through wrapping
Fortran source code, like in the oml-toolbox
cubspl.f to determine splines ppvalu.f to
evaluate spline interv.f needed for ppvalu
10pppackoperators/sources
For every .f a .h-file is made in the following
way. dcubspl.f subroutine dcubspl(tau, c, n,
ibcbeg, ibcend) dcubspl.h void
F77NAME(dcubspl)(const double tau, double c,
const int n, const int ibcbeg, const int
ibcend)
11pppackoperators/classes/NDSpline.cc
- constructor
- NDSpline(xi,C,ibcbeg,ibcend)
- uses definition of dcubspl.h
- void F77NAME(dcubspl)(_tau-gtgetValue(),
- c-gtgetValue(), n, ibcbeg, ibcend)
- operator() uses definition of dppvalu.h
- void F77NAME(dppvalu)(tau.getValue(),
- c.getValue(), l, k, x, _j)
12pppackoperators/modules/MDSpline.cc
- constructor now uses more user friendly input
args - MDSpline(z,x,xi,fxi,ibcbeg,begval,
- ibcend,endval)
- derives right C and calls NDSpline callback
- spline-gtcallback(xi,left_derivative,
- right_derivative)
13pppackoperators/modules/MDSpline.mh
Generates
x xi fxi ibcbeg begval ibcend endval
z
14Network showing usage of MDSpline
15Network showing usage of sampling
Note that evaluation points are fed to MDSpline
from below. (See spline-with-vis.sav.C)