TwinGrowth

  • Yang Hu, Dennis M Kochmann, and Brandon Runnels. Atomistic-informed phase field modeling of magnesium twin growth by disconnections. arXiv preprint, 2024.

serial

Two-dimensional

Serial

Validated using check script

./bin/alamo-2d-g++ tests/TwinGrowth/input  stop_time="0.12" amr.plot_dt="0.01"
Input file (../../tests/TwinGrowth/input)
#@ [serial]
#@ dim=2
#@ args = stop_time=0.12
#@ args = amr.plot_dt=0.01
#@ check=true
#@ check-file = reference/serial.dat

alamo.program = microstructure
alamo.program.microstructure.model = affine.hexagonal
timestep = 0.001
stop_time = 0.2
plot_file = tests/TwinGrowth/output
amr.plot_dt = 0.1
amr.max_level = 4
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.cell.all = 1
amr.thermo.plot_dt = 0.1
ic.type = ellipse
ic.ellipse.a = 2.3 4.6 0.5
ic.ellipse.x0 = 0 0 0
geometry.prob_lo = -38.5 -38.5 -2.575
geometry.prob_hi = 38.5 38.5 2.575
geometry.is_periodic = 0 0 0
bc.eta.type.xlo = neumann
bc.eta.type.xhi = neumann
bc.eta.type.ylo = neumann
bc.eta.type.yhi = neumann
pf.number_of_grains = 2
pf.M = 1.0
pf.mu = 10.0
pf.gamma = 1.0
pf.l_gb = 0.5
pf.sigma0 = 1.2
pf.threshold.type = chop
pf.threshold.value = 0.15
pf.threshold.chempot = 0
pf.threshold.boundary = 1
pf.threshold.corner = 1
pf.threshold.lagrange = 1
pf.threshold.mechanics = 1

anisotropy.on = 1
anisotropy.timestep = 0.00005
anisotropy.tstart = 0.1
anisotropy.gb_type = read
anisotropy.read.filename = tests/TwinGrowth/gbe15.dat
anisotropy.beta = 0.01
anisotropic_kinetics.on = 1
anisotropic_kinetics.tstart = 0.1
anisotropic_kinetics.mobility = tests/TwinGrowth/mob11.dat
anisotropic_kinetics.threshold = tests/TwinGrowth/threshold15.dat
pf.elastic_df = 1
pf.elastic_mult = 2.0
mechanics.type = static
mechanics.interval = 10
mechanics.model1.C11 = 391.9976
mechanics.model1.C33 = 434.4432
mechanics.model1.C44 = 106.7382
mechanics.model1.C12 = 162.292
mechanics.model1.C13 = 132.3304
mechanics.model1.F0 = 0 0 0.134 0
mechanics.model2.C11 = 391.9976
mechanics.model2.C33 = 434.4432
mechanics.model2.C44 = 106.7382
mechanics.model2.C12 = 162.292
mechanics.model2.C13 = 132.3304
mechanics.model2.F0 = 0 0 0.0 0
mechanics.bc.type = constant
mechanics.bc.constant.type.xlo = disp disp disp
mechanics.bc.constant.type.xhi = disp disp disp
mechanics.bc.constant.type.xloyhi = disp disp disp
mechanics.bc.constant.type.xhiyhi = disp disp disp
mechanics.bc.constant.type.ylo = neumann neumann neumann
mechanics.bc.constant.type.yhi = neumann neumann neumann
mechanics.bc.constant.val.xhi = 0.0 3.4 0.0
mechanics.bc.constant.val.xlo = 0.0 0.0 0.0
mechanics.bc.constant.val.xhiyhi = 0.0 3.4 0.0
mechanics.bc.constant.val.xloyhi = 0.0 0.0 0.0
mechanics.bc.constant.val.xhiylo = 0.0 3.4 0.0
mechanics.bc.constant.val.xloylo = 0.0 0.0 0.0
mechanics.bc.constant.val.yhi = 0.0 0.0 0.0
mechanics.bc.constant.val.ylo = 0.0 0.0 0.0
mechanics.solver.verbose = 3