SCPThermalVoid

2d-serial

Two-dimensional

Serial

Validated using check script

./bin/alamo-2d-g++ tests/SCPThermalVoid/input  stop_time="0.01001_s" amr.plot_dt="0.01_s"

2d-parallel

Two-dimensional

Parallel (8 procs)

Validated using check script

mpiexec -np 8 ./bin/alamo-2d-g++ tests/SCPThermalVoid/input  stop_time="0.05001_s" amr.plot_dt="0.05_s"
Input file (../../tests/SCPThermalVoid/input)
#@ [2d-serial]
#@ dim = 2
#@ check = true
#@ check-file = reference/reference-2d-serial.csv
#@ args = stop_time=0.01001_s
#@ args = amr.plot_dt=0.01_s
#@ 
#@ [2d-parallel]
#@ dim = 2
#@ nprocs = 8
#@ check = true
#@ args = stop_time=0.05001_s
#@ args = amr.plot_dt=0.05_s
#@ check-file = reference/reference-2d-parallel.csv


alamo.program = flame

plot_file = output.test

system.length = mm
system.time = s

# AMR and output parameters

amr.plot_dt = 2e-3_s
amr.max_grid_size = 4
amr.blocking_factor = 4
amr.base_regrid_int = 10
amr.grid_eff = 0.8
amr.refinement_criterion = 0.1
amr.refinement_criterion_temp = 4.0_K
# amr.phi_refinement_criterion = 0.5
amr.cell.all = 1

# amr.max_plot_level = 2
#amr.node.all = 1

# Geometry and base grid size
amr.max_level = 3

# Full size
amr.n_cell = 16 16 16
geometry.prob_lo = 0.0_mm 0.0_mm 0.0_mm
geometry.prob_hi = 1.0_mm 1.0_mm 1.2_mm

geometry.is_periodic = 0 0 0

## Timestep
timestep = 1e-5_s # [s]
stop_time = 0.25_s

small = 1.0e-6
pf.eps = 10.0_um #0.0005 # [m]
pf.lambda = 0.001_J/m^2

## Eta initial condition
pf.eta.ic.type = expression
pf.eta.ic.expression.constant.eps = 10.0_um
pf.eta.ic.expression.constant.x0 = 30.0_um
pf.eta.ic.expression.region0 = "(erf(10*(x-0.5)**2+10*(y-0.5)**2))"

## Phi initial condition (spheres)
phi.ic.type = expression
phi.ic.expression.constant.eps = 10.0_um
phi.ic.expression.constant.x0 = 30.0_um
phi.ic.expression.region0 = "(erf(20*(x-0.25)**2+20*(y-0.25)**2))*(erf(20*(x-0.25)**2+20*(y-0.75)**2))*(erf(20*(x-0.75)**2+20*(y-0.25)**2))*(erf(20*(x-0.75)**2+20*(y-0.75)**2))"

# Phase field parameters
pf.kappa      = 5.0_J/m^2
pf.w1         = 1.0_1
pf.w12        = 2.0_1
pf.w0         = 0.0_1

# Eta boundary conditions
pf.eta.bc.type = constant
pf.eta.bc.constant.type.xlo = dirichlet
pf.eta.bc.constant.type.xhi = neumann
pf.eta.bc.constant.type.ylo = neumann
pf.eta.bc.constant.type.yhi = neumann
pf.eta.bc.constant.type.zlo = neumann
pf.eta.bc.constant.type.zhi = neumann
pf.eta.bc.constant.val.xlo = 0.0
pf.eta.bc.constant.val.xhi = 0.0
pf.eta.bc.constant.val.ylo = 0.0
pf.eta.bc.constant.val.yhi = 0.0
pf.eta.bc.constant.val.zlo = 0.0
pf.eta.bc.constant.val.zhi = 0.0

# Propellant model - requires thermal model
propellant.type = fullfeedback
# arrhenius rate law parameters
propellant.fullfeedback.m_ap      = 1.45e5_m/s
propellant.fullfeedback.m_htpb    = 1.4e1_m/s
propellant.fullfeedback.E_ap      = 11000.0_K
propellant.fullfeedback.E_htpb    = 7500.0_K
# thermal transport parameters
propellant.fullfeedback.rho_ap      =  1950.0_kg/m^3
propellant.fullfeedback.rho_htpb    =   930.0_kg/m^3
propellant.fullfeedback.k_ap        =  0.4186_W/m/K
propellant.fullfeedback.k_htpb      =  0.1300_W/m/K 
propellant.fullfeedback.cp_ap       = 1297.90_J/kg/K 
propellant.fullfeedback.cp_htpb     = 2418.29_J/kg/K
propellant.fullfeedback.mlocal_ap   =  1000.0_kg/m^3/s
propellant.fullfeedback.mlocal_comb =     0.0_kg/m^3/s
# Mass-to-heat flux fit parameters
propellant.fullfeedback.a1       =    1.114_1
propellant.fullfeedback.a2       =    0.460_1
propellant.fullfeedback.a3       =    2.797_1
propellant.fullfeedback.b1       =    0.323_1
propellant.fullfeedback.b2       =    0.420_1
propellant.fullfeedback.b3       =   0.3225_1
propellant.fullfeedback.c1       = -0.09906_1
propellant.fullfeedback.phi.zeta =     10.0_um
propellant.fullfeedback.Pref     =      1.1_MPa

# Thermal transport parameters
thermal.on = 1  
thermal.Tfluid = 288.0
thermal.Tref = 300.0_K
thermal.Tcutoff = 400.0_K
thermal.end_initial_refine_time = 2e-4_s

# Temperature field initial condition
temp.ic.type = constant
temp.ic.constant.value = 288.0_K

# Temperature field boundary conditions
thermal.temp.bc.type = constant
thermal.temp.bc.constant.type.xlo = neumann
thermal.temp.bc.constant.type.xhi = neumann
thermal.temp.bc.constant.type.ylo = neumann
thermal.temp.bc.constant.type.yhi = neumann
thermal.temp.bc.constant.type.zlo = neumann
thermal.temp.bc.constant.type.zhi = neumann
thermal.temp.bc.constant.val.xlo = 0.0
thermal.temp.bc.constant.val.xhi = 0.0
thermal.temp.bc.constant.val.ylo = 0.0 
thermal.temp.bc.constant.val.yhi = 0.0
thermal.temp.bc.constant.val.zlo = 0.0 
thermal.temp.bc.constant.val.zhi = 0.0

# volumetric heat flux multiplier
thermal.hc = 1.0e7_W/m^2

# Laser initial condition
laser.ic.type = expression
laser.ic.expression.constant.tswitch = 1_ms
laser.ic.expression.constant.qflux0 = 1.0e8_W/m^2
laser.ic.expression.constant.qflux1 = 1.0e6_W/m^2
laser.ic.expression.constant.eps = 10.0_um
laser.ic.expression.constant.x0 = 60.0_um
laser.ic.expression.region0 = "(qflux0*(t<tswitch) + qflux1*(t>=tswitch))*(0.5 - 0.5*erf((x-x0)/eps))"

# Chamber pressure (used for regression model)
chamber.pressure = 1.0_MPa  ## [MPa]

# Disable NAN checking
amr.abort_on_nan = 1

# Disable elasticity
elastic.type = disable