9. Tutorial
This tutorial uses the repository-provided examples. Build PhonoMC before starting.
9.1. Cross-plane conductivity
Run:
OMP_NUM_THREADS=8 ./build/PhonoMC example/input_cross_100nm.toml
This example uses two thermal reservoirs on the x faces and periodic
boundaries on y and z. initial_temperature = "linear" initializes a
profile between 299 K and 301 K, and compute_kappa = true enables the
endpoint and fitted conductivity estimates.
After the run:
python3 tools/plot_convergence.py example/results/Cross_100nm_1
Inspect kappa_vs_time.png together with particle balance and temperature
convergence; a flat conductivity curve alone is not sufficient validation.
9.2. In-plane transport with rough surfaces
Run:
OMP_NUM_THREADS=8 ./build/PhonoMC \
example/input_inplane_x1000nm_z100nm_r1nm.toml
The x faces are thermal reservoirs, the y faces are periodic, and the z faces have 1 nm roughness. Compare this result with the cross-plane case to study geometry and surface-scattering effects.
9.3. FinFET heating
The FinFET example loads model/finfet.stl and injects a Gaussian volumetric
heat source:
OMP_NUM_THREADS=32 ./build/PhonoMC \
example/input_finfet_stl_heat1e20.toml
The provided production input uses ten million particles. For a smoke test,
copy the input and reduce particle_count, iterations, and grid_xyz.
Plot an existing or completed result:
python3 tools/plot_temperature_3d.py \
--input example/input_finfet_stl_heat1e20.toml \
--results example/results/FinFET_heat1e20_0
The command writes a 3D temperature view and x/y slice images under
plots_3d.
9.4. Create a new case
Copy the closest example TOML file.
Select
model = "box"or a valid STL/OBJ path.Define all boundary arrays with identical lengths.
Use
0for every periodic boundary value.Pair every periodic region exactly once.
Point
material_folderto a directory containing POSCAR and HDF5 data.Start with a small grid and particle count.
Inspect the generated summary before scaling the calculation.