Voronoi
This test problem illustrates the use of the phase field method when initialized with a Voronoi tesselation. This example tests the following capabilities
The following is the result in 2D; the problem can be run in 3D as well.
![../_images/voronoi.gif](../_images/voronoi.gif)
Notice that there are 100 initial grains in the tesselation, but only 10 actual grains in the simulation. Therefore, some grains will eventually merge together when the boundary between them disappears.
2D-100grain-parallel
Two-dimensional |
|
Parallel (4 procs) |
|
Validated using check script |
|
16.04s (beaker) 11.58s (statler) 9.32s (waldorf) |
|
mpiexec -np 4 ./bin/alamo-2d-g++ tests/Voronoi/input
|
2D-100grain-serial
Two-dimensional |
|
Serial |
|
Validated using check script |
|
50.84s (beaker) 37.94s (statler) 60.03s (github) 26.9s (waldorf) |
|
./bin/alamo-2d-g++ tests/Voronoi/input
|
2D-20grain-serial-coverage
Two-dimensional |
|
Serial |
|
Not validated |
|
./bin/alamo-2d-g++ tests/Voronoi/input stop_time="0.01" ic.voronoi.number_of_grains="20"
|
Input file (../../tests/Voronoi/input)
#@
#@ [2D-100grain-parallel]
#@ nprocs = 4
#@ dim = 2
#@ benchmark-beaker = 16.04
#@ benchmark-statler = 11.58
#@ benchmark-waldorf = 9.32
#@
#@ [2D-100grain-serial]
#@ nprocs = 1
#@ dim = 2
#@ benchmark-beaker = 50.84
#@ benchmark-statler = 37.94
#@ benchmark-github = 60.03
#@ benchmark-waldorf = 26.9
#@
#@ [2D-20grain-serial-coverage]
#@ nprocs = 1
#@ dim = 2
#@ coverage = true
#@ check = false
#@ args = stop_time=0.01
#@ args = ic.voronoi.number_of_grains=20
#@
alamo.program = microstructure
plot_file = tests/Voronoi/output
timestep = 0.005
stop_time = 1
amr.plot_dt = 0.1
amr.max_level = 3
amr.n_cell = 32 32 32
amr.blocking_factor = 4
amr.regrid_int = 10
amr.grid_eff = 1.0
ic.type = voronoi
ic.voronoi.number_of_grains = 100
#ic.voronoi.number_of_grains = 100
#ic.type = constant
#ic.value = 1 0 0 0 0 0 0 0 0 0
geometry.prob_lo = 0 0 0
geometry.prob_hi = 5 5 5
geometry.is_periodic = 1 1 1
bc.eta.type = constant
bc.eta.constant.type.xhi = periodic
bc.eta.constant.type.xlo = periodic
bc.eta.constant.type.yhi = periodic
bc.eta.constant.type.ylo = periodic
bc.eta.constant.type.zhi = periodic
bc.eta.constant.type.zlo = periodic
pf.number_of_grains = 10
pf.M = 1.0
pf.mu = 10.0
pf.gamma = 1.0
pf.l_gb = 0.05
pf.sigma0 = 0.075