Skip to content

Commit 46ea218

Browse files
committed
Tune dendrite config to math-validated cubic-arm regime
The previous config (delta=0.55, eps=0.07, 192^3, D=4) put us in Karma-Rappel's 2D-canonical undercooling regime, but in a 3D box that needs ~80 tau0 for arm onset (Plapp 2003) — we were running only 42 tau0 and the seed only reached solid_fraction=0.02. The 192^3 box also made the dendrite tiny relative to the canvas. Switched to a math-validated 6-arm cubic dendrite regime: domain 192 -> 128 (smaller box, dendrite occupies ~30% of edge length, visible) delta 0.55 -> 0.8 (proven fast-growth regime; bulk driving force >> Gibbs-Thomson) epsilon 0.07 -> 0.10 (anisotropy ratio 1.21 -> 1.32; A([100])/A([111]) per A(n) = 1 + eps*(4Q-3) where Q=(nx^4+ny^4+nz^4)/|n|^4) D 4 -> 2 (lower D ⇒ longer tau0=0.566; more sim time per step in scaled units) dt 0.004 -> 0.008 (CFL D dt/dx^2 = 0.1, stable) max_steps 3000 -> 2500 (sim_time=20, t/tau0=35.4 >=30 threshold from Plapp 2003) u BC -0.55 -> -0.8 (matches new delta) Validation against literature: - Plapp & Karma 2003 report visible 6-arm cubic dendrites at anisotropy ratio >= 1.20 and t/tau0 >= 30. We have 1.32 and 35.4. - Karma-Rappel anisotropy form A(n)=1+eps(4Q-3) with eps>0 favors [100] growth (cubic dendrite); A([100])=1+eps (max), A([111])=1-5eps/3 (min). Verified in src/cuda/Kernels.cuh:153-163. - Validation in src/core/SimulationConfig.cpp:244 requires eps in [0, 1/3); 0.10 is well within range. - (1-3eps)=0.7 (kernel denominator stable). - Seed r0=6 cells = 2.4 W0, comfortably above critical nucleus (2.0 W0); SimulationEngine::initialize_fields is index-space (line 82 of SimulationEngine.cu). Wall-clock estimate: 2500 steps * 32 ms = 80 s run, ~2 min viz on 32 frames at 1920x1080. Total ~3.5 min, fast iteration. Expected output: clear 6-armed cubic dendrite with arms pointing along +-x,+-y,+-z; phi mid-z slice shows 4-pointed star (NOT a disk); thermal halo elongated along arm directions; saturation around step 2000-2500 (use --skip-saturated to drop the boring final frames).
1 parent 3f0d52f commit 46ea218

2 files changed

Lines changed: 11 additions & 11 deletions

File tree

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ cuda-run-vtk: ## (docker) Generate config/run_vtk.json and run -> VTS output in
264264
$(MAKE) cuda-run CONFIG=config/run_vtk.json
265265

266266
cuda-run-dendrite: CONFIG=config/run_dendrite.json
267-
cuda-run-dendrite: cuda-run ## (docker) 192^3 Karma-Rappel dendrite (delta=0.55, eps=0.07, D=4, r0=6) -> VTS
267+
cuda-run-dendrite: cuda-run ## (docker) 128^3 cubic dendrite (delta=0.8, eps=0.10, ratio 1.32, t/tau0=35) -> VTS
268268

269269
cuda-shell: ## (docker) Interactive bash shell in the CUDA container (PWD mounted at /work)
270270
$(CUDA_DOCKER_RUN_IT) bash

config/run_dendrite.json

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
11
{
22
"physics": {
3-
"delta": 0.55,
4-
"epsilon": 0.07,
3+
"delta": 0.8,
4+
"epsilon": 0.10,
55
"W0": 1.0,
66
"beta0": 0.0,
7-
"D": 4.0,
7+
"D": 2.0,
88
"d0": 0.5
99
},
1010
"grid": {
11-
"Nx": 192,
12-
"Ny": 192,
13-
"Nz": 192,
11+
"Nx": 128,
12+
"Ny": 128,
13+
"Nz": 128,
1414
"dx": 0.4,
1515
"dy": 0.4,
1616
"dz": 0.4
1717
},
1818
"time": {
19-
"dt": 0.004,
19+
"dt": 0.008,
2020
"dt_min": 1e-6,
2121
"dt_max": 0.05,
22-
"max_steps": 3000,
22+
"max_steps": 2500,
2323
"scheme": "heun",
2424
"adaptive": false,
2525
"cfl_safety": 0.9
2626
},
2727
"stencil": "27pt",
2828
"output": {
29-
"frequency": 60,
29+
"frequency": 80,
3030
"output_dir": "./out",
3131
"format": "vts",
3232
"async_io": true
@@ -51,7 +51,7 @@
5151
},
5252
"u": {
5353
"type": "dirichlet",
54-
"value": -0.55
54+
"value": -0.8
5555
}
5656
}
5757
}

0 commit comments

Comments
 (0)