HeatConduction

This is the test for the Integrator::HeatConduction integrator. All BCs are Dirichlet. Low faces have constant nonzero temperature, high faces have constant zero temperature. Domain is initialized with zero temperature. Sample result below in 3D:

../_images/movie4.gif

2d-serial

Two-dimensional

Serial

Validated using check script

./bin/alamo-2d-g++ tests/HeatConduction/input

2d-serial-rescaled

Two-dimensional

Serial

Validated using check script

./bin/alamo-2d-g++ tests/HeatConduction/input  system.length="mm" system.time="ms"

3d-parallel

Three-dimensional

Parallel (4 procs)

Validated using check script

7.66s (beaker) 21.17s (waldorf)

mpiexec -np 4 ./bin/alamo-3d-g++ tests/HeatConduction/input
Input file (../../tests/HeatConduction/input)
#@
#@ [2d-serial]
#@ dim=2
#@ check-file=reference/reference-2d.csv
#@ 
#@ [2d-serial-rescaled]
#@ dim=2
#@ check-file=reference/reference-2d-mm-ms.csv
#@ args = system.length=mm
#@ args = system.time=ms
#@ 
#@ [3d-parallel]
#@ dim=3
#@ nprocs=4
#@ benchmark-beaker=7.66
#@ benchmark-waldorf=21.17
#@ check-file=reference/reference-3d.csv
#@

alamo.program = heat

plot_file     = tests/HeatConduction/output

# Simulation length
timestep  = 00.1_ms
stop_time = 50.0_ms

# AMR parameters
amr.plot_int = 10
amr.max_level = 3
amr.n_cell = 8 8 8
amr.blocking_factor = 1
amr.regrid_int = 10
amr.grid_eff = 1.0

# Specify system units
system.length = m
system.time   = s

# Specify geometry and unrefined mesh
geometry.prob_lo = 0.0_m  0.0_m  0.0_m
geometry.prob_hi = 1.0_m  1.0_m  1.0_m
geometry.is_periodic= 0 0 0

# Criterion for mesh refinement
heat.alpha                = 1.00_m^2/s
heat.refinement_threshold = 0.01_K

# Specify initial conditions
ic.type = sphere
ic.sphere.center = 0.50_m  0.50_m  0.50_m
ic.sphere.radius = 0.25_m
ic.sphere.inside = 0.00_K


# Boundary conditions
bc.temp.constant.type.xhi = dirichlet
bc.temp.constant.type.xlo = dirichlet
bc.temp.constant.type.yhi = dirichlet
bc.temp.constant.type.ylo = dirichlet
bc.temp.constant.type.zhi = dirichlet
bc.temp.constant.type.zlo = dirichlet
bc.temp.constant.val.xhi  = 0.0_K
bc.temp.constant.val.xlo  = 1.0_K
bc.temp.constant.val.yhi  = 0.0_K
bc.temp.constant.val.ylo  = 1.0_K
bc.temp.constant.val.zhi  = 0.0_K
bc.temp.constant.val.zlo  = 1.0_K