PerturbedInterface
This example simluates the evolution of a perturbed interface with strongly anisotropic grain boundary energy. For background see Ribot et al: https://doi.org/10.1088/1361-651X/ab47a0
This problem tests the following
Example output:
Notice that the sharp corner in the equilibrium shape is the result of strong anisotropy.
Josep Gras Ribot, Vinamra Agrawal, and Brandon Runnels. A new approach for phase field modeling of grain boundaries with strongly nonconvex energy. Modelling and Simulation in Materials Science and Engineering, 27(8):084007, 2019.
perturbed-interface
Two-dimensional |
|
Serial |
|
Validated using check script |
|
19.87s (beaker) 12.53s (statler) 18.75s (github) |
|
./bin/alamo-2d-g++ tests/PerturbedInterface/input
|
perturbed-interface-coverage
Two-dimensional |
|
Serial |
|
Not validated |
|
./bin/alamo-2d-g++ tests/PerturbedInterface/input stop_time="0.02"
|
#@
#@ [perturbed-interface]
#@ dim = 2
#@ check = true
#@ benchmark-beaker = 19.87
#@ benchmark-statler = 12.53
#@ benchmark-github = 18.75
#@
#@ [perturbed-interface-coverage]
#@ dim = 2
#@ check = false
#@ args=stop_time=0.02
#@ coverage = true
#@
alamo.program = microstructure
timestep = 0.01
stop_time = 2.0
plot_file = tests/PerturbedInterface/output
amr.plot_dt = 0.1
amr.max_level = 2
amr.n_cell = 64 64 64
amr.blocking_factor = 8
amr.regrid_int = 10
amr.grid_eff = 1.0
amr.max_grid_size = 8
#amr.thermo.plot_dt = 0.1
ic.type=perturbedinterface
ic.perturbedinterface.wave_numbers=4
ic.perturbedinterface.wave_amplitudes=0.5
ic.perturbedinterface.normal = y
ic.perturbedinterface.mollifier = dirac
geometry.prob_lo = 0 -4 0
geometry.prob_hi = 8 4 8
geometry.is_periodic= 0 0 0
bc.eta.type = constant
bc.eta.constant.type.xlo = neumann
bc.eta.constant.type.xhi = neumann
bc.eta.constant.type.ylo = dirichlet
bc.eta.constant.type.yhi = dirichlet
bc.eta.constant.val.ylo = 1.0 0.0
bc.eta.constant.val.yhi = 0.0 1.0
pf.number_of_grains = 2
pf.M = 1.0
pf.mu = 10.0
pf.gamma = 1.0
pf.l_gb=0.1
pf.sigma0=0.075
anisotropy.on=1
anisotropy.timestep=0.001
anisotropy.tstart= 1.
anisotropy.type=sin
anisotropy.sin.sigma0=0.075
anisotropy.sin.sigma1=0.07
anisotropy.sin.theta0=45
anisotropy.beta= 0.00001
#anisotropy.damp=1.0
elastic.on = 0