Posts for the month of April 2009

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
  • optimal choice of primitive variables ($\rho$, $\rho_1$, $\rho_2$, $X_1$)
  • 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

$\phi_s + \phi_l + \phi_v = 1$

but the van der Waals model ($P = P_0 \left( \rho \right) + \frac{\lambda}{2}\left( \nabla \rho \right)^2$) 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?

What did we do to fix it?

  • full matrix method
  • Trilinos preconditioners and solvers
  • Exponential interpolation scheme

$\mu = \mu_s^{\phi} \mu_f^{1 - \phi}$

  • 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)
  • Posted: 2009-04-29 11:47 (Updated: 2009-04-30 09:20)
  • Author: wd15
  • Categories: (none)
  • Comments (0)

Simulations to Test Tolerance

Rerunning some of the viscosity simulations

ID Machine $|R_2|$ movie
91 luggage (14) stopped $1\times 10^{-1}$ movie
96 luggage (15) finished $1\times 10^{-2}$ movie
97 luggage finished $5\times 10^{-1}$ movie
98 benson stopped $1\times 10^{-3}$ movie
  • Posted: 2009-04-20 12:24 (Updated: 2009-05-12 11:15)
  • Author: wd15
  • Categories: (none)
  • Comments (0)

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: source:trunk/hofv/analytical.png

The Van Leer scheme solotion on a 110 x 60 grid:

source:trunk/hofv/vanleer.png

The power law scheme on a 110 x 60 grid:

source:trunk/hofv/powerlaw.png

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

source:trunk/hofv/convergence.png

I implemented the QUICK scheme without limiting, is essentially the Van Leer scheme without the limiting.

source:trunk/hofv/QUICK.png

  • Posted: 2009-04-16 15:33 (Updated: 2009-04-16 17:23)
  • Author: wd15
  • Categories: (none)
  • Comments (0)

Timings on Luggage

  • Luggage had one additional job running.

$\Delta t = 1 \times 10^{-11}$

900 x 900 $\Delta t = 1 \times 10^{-11}$

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 $\Delta t = 1 \times 10^{-11}$

sweep 16 32 62 63
1 231.93 141.68 93.18 87.18
2 187.85 111.25 69.97 63.80
  • Posted: 2009-04-13 15:26
  • Author: wd15
  • Categories: (none)
  • Comments (0)

Full Parallel Simulations

Rerunning some of the viscosity simulations

ID Machine $\mu_s$ movie
91 luggage (14) stopped $2\times 10^3$ movie
92 finished $2\times 10^2$ movie
93 luggage (15) stopped $2\times 10^4$ movie
94 luggage (15) finished $2\times 10^1$ movie
95 luggage (15) finished $2\times 10^5$ movie
  • Posted: 2009-04-07 10:58 (Updated: 2009-05-08 17:30)
  • Author: wd15
  • Categories: (none)
  • Comments (0)

Chat with Jim --- Reactive Wetting Direction

Three main directions

  • compare with Cox theory

  • compare with Warren, Boettin, Roosen for spreading
  • compare with Pismen & Pomeau
  • Posted: 2009-04-06 11:14
  • Author: wd15
  • Categories: (none)
  • Comments (0)

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 $\Delta t = 1 \times 10^{-12}$

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 $\Delta t = 1 \times 10^{-12}$

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 $\Delta t = 1 \times 10^{-12}$

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

$\Delta t = 1 \times 10^{-11}$

900 x 900 $\Delta t = 1 \times 10^{-11}$

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 $\Delta t = 1 \times 10^{-11}$

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 $\Delta t = 1 \times 10^{-11}$

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)
  • Posted: 2009-04-02 15:15 (Updated: 2009-04-03 15:44)
  • Author: wd15
  • Categories: (none)
  • Comments (0)