Meeting With Frank
Why has the reactive wetting problem taken so damn long?
It's really difficult. No one has modeled multicomponent van der Waals liquid-vapor (and we have a solid too).
- source:trunk/reactiveWetting/paper/sandia1.png
- source:trunk/reactiveWetting/paper/sandia2.png
- flow with difficult source terms in the Navier-Stokes, standard codes don't deal with this
- parasitic currents
- pressure-correction algorithm needed to be invented
- compressible due to nature of pressure density coupling (most work has perfect gas relationship for pressure based approach)
- low Mach number compressible density coupled (rather than pressure) flow
- multicomponent decoupling
- didn't have parallel capability
- thermo
- difficulty understanding the wetting issues (the surface tensions are not input parameters)
- optimal choice of primitive variables (
,
,
,
)
- choice of diffusion coefficient
- code complexity and difficult to organize, it has to solve a variety of different problems
- did not have state of the art preconditioners and solvers
- viscosity and diffusion ratios (interpolation schemes) (requires good preconditioners and solvers)
- density trapping
Some of these issues are avoided with the three phase field approach, density is defined by the phase field variable
but the van der Waals model (
) has fundamental advantages
- a more fundamental physical description
- handles the critical temperature
- compression waves, which are interesting
- no arbitrary phase field equations
What is the current situation?
- movies
- improved the Schimidt number to physical
(viscosity) by many orders of magnitude blog:UnsegregatedSolver#comment-1
- almost complete physical model of the system
- unphysical vapor, not a major issue (concentration, density and viscosity)
- solid viscosity
- triple point location results source:trunk/reactiveWetting/paper/position.png source:trunk/reactiveWetting/paper/interface0010840tp3.png source:trunk/reactiveWetting/paper/interface0010840tp2.png
- source:trunk/reactiveWetting/paper/interface0010840.png
What did we do to fix it?
- full matrix method
- Trilinos preconditioners and solvers
- Exponential interpolation scheme
- Full implementation of Trilinos as the "backend" for fipy, state of the art preconditioners, solvers and parallel capability
- Using the full matrix method
- allows us to leverage full capability of Trilinos preconditioners
- Parallel version
- reason to use FiPy? is to have easy ways to add new terms and components
- Talking to Aaron Lott (preconditioner expert in maths and computer div.)
Will I write a paper soon?
Yes. Here is the current draft source:trunk/reactiveWetting/paper/paper.pdf
What did we do wrong?
- in essence, this is a very deep and difficult mathematical model
- ignore pressure for "real" physical model and write intermediate papers
- two computer guys should be working together on each problem, never alone as we currently do
- better code organization
Will all this work carry over into other problems?
Yes. Certainly the parallel, full matrix and Trilinos capabilities are immediately applicable to
- Photo-Voltaics
- Superconformal Ni Deposition
Other problems that we could possibly tackle include
- Zeta-potential
- VLS nano-wire growth
- Vehicle Light-weighting
- Ink Jet Process
- mem-resistive technologies
- VLS nano-wire growth
- Crystal Plasticity with Lyle
- Martensites
What other techniques do we still need to implement?
- get all stuff back into fipy that I have developed for the Reactive Wetting code.
- second order accurate unstructured capability
- adapativity
- Newton iterations
- block preconditioners (working with Aaron Lott)
Testing Advection Schemes
As a start to getting a higher order advection scheme in FiPy I've been looking at what we already have. The following test is for the advection at 45 degrees to a Cartesian grid. The analytical solution is this on a 110 x 60 grid:
The Van Leer scheme solotion on a 110 x 60 grid:
The power law scheme on a 110 x 60 grid:
The actual convergence rates based on the L1 norm (on 5 grids with 11 * N x 6 * N cells with N=(1,2,4,8,16)):
I implemented the QUICK scheme without limiting, is essentially the Van Leer scheme without the limiting.
Timings on Luggage
- Luggage had one additional job running.
900 x 900 
| sweep | 1 | 2 | 4 | 8 | 16 | 32 | 60 | 62 |
| 1 | 677.69 | 382.98 | 230.94 | 107.78 | 56.23 | 30.74 | 16.25 | 16.53 |
| 2 | x | 303.69 | 192.95 | 90.93 | 51.63 | 28.6 | 14.85 | 14.43 |
1800 x 1800 
| sweep | 16 | 32 | 62 | 63 |
| 1 | 231.93 | 141.68 | 93.18 | 87.18 |
| 2 | 187.85 | 111.25 | 69.97 | 63.80 |
Chat with Jim --- Reactive Wetting Direction
Three main directions
- compare with Cox theory
- compare with Warren, Boettin, Roosen for spreading
- compare with Pismen & Pomeau
Full Parallel Implementation of the Reactive Wetting
- The numbers are wall clock times in seconds, cpu clock time is hard to get with mpi jobs
- The number in parentheses is the matrix solution time.
- Luggage was heavily loaded when these calculations were done
- Poole has two additional processes running.
900 x 900 
| sweep | 1 (poole) | 2 (poole) | 4 (poole) | 8 (luggage) | 16 (luggage) | 32 (luggage) | 64 (luggage) |
| 1 | x | x | x | 189.89 (1.53) | 90.41 (1.71) | 46.48 (0.43) | 34.40 (0.94) |
| 2 | x | x | x | 210.94 (5.00) | 75.16 (5.29) | 43.60 (2.55) | 34.48 (4.67) |
450 x 450 
| sweep | 1 (poole) | 2 (poole) | 4 (poole) | 8 (poole) | 8 (luggage) | 16 (luggage) | 32 (luggage) | 64 (luggage) |
| 1 | 73.86 (0.64) | 39.23 (0.332) | 20.62 (0.189) | 11.18 (0.102) | 26.59 (0.220) | 32.05 (0.264) | 29.24 (1.08) | 13.37 (0.24) |
| 2 | 61.97 (3.13) | 30.82 (1.198) | 16.07 (0.742) | 8.62 (0.461) | 23.74 (0.535) | 19.855 (0.640) | 10.22 (0.596) | 7.51 (0.795) |
225 x 225 
| sweep | 1 (poole) | 2 (poole) | 4 (poole) | 8 (poole) | 8 (luggage) | 16 (luggage) | 32 (luggage) | 64 (luggage) |
| 1 | 19.16 (0.16) | 10.16 (0.086) | 5.57 (0.04) | 3.44 (0.026) | 6.01 (0.076) | 13.82 (0.12) | 9.66 (0.14) | 16.87 (0.12) |
| 2 | 14.51 (0.55) | 7.56 (0.31) | 3.92 (0.18) | 2.03 (0.13) | 5.01 (0.19) | 8.36 (0.14) | 5.91 (0.22) | x |
900 x 900 
| sweep | 1 (poole) | 2 (poole) | 4 (poole) | 8 (luggage) | 16 (luggage) | 32 (luggage) | 64 (luggage) |
| 1 | x | x | x | 136.75 (1.80) | 130.58 (1.69) | 47.51 (1.87) | 36.69 (0.976) |
| 2 | x | x | x | 253.05 (133.37) | 194.08 (74.12) | 142.07 (84.92) | 72.17 (47.37) |
450 x 450 
| sweep | 1 (poole) | 2 (poole) | 4 (poole) | 8 (poole) | 8 (luggage) | 16 (luggage) | 32 (luggage) | 64 (luggage) |
| 1 | 81.49 (1.07) | 40.69 (0.51) | 21.46 (0.30) | 11.19 (0.16) | 55.53 (1.82) | 14.31 (0.39) | 16.32 (0.24) | 19.46 (0.52) |
| 2 | 158.42 (97.25) | 80.21 (49.89) | 41.32 (25.99) | 23.89 (15.94) | 83.85 (20.27) | 32.60 (20.04) | 18.87 (11.13) | 35.52 (28.13) |
225 x 225 
| sweep | 1 (poole) | 2 (poole) | 4 (poole) | 8 (poole |
| 1 | 20.03 (0.27) | 10.21 (0.12) | 5.57 (0.075) | 3.95 (0.041) |
| 2 | 38.44 (23.78 ) | 19.25 (11.97) | 10.08 (6.39) | 6.10 (4.16) |
rss



