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

  1. Copy the closest example TOML file.

  2. Select model = "box" or a valid STL/OBJ path.

  3. Define all boundary arrays with identical lengths.

  4. Use 0 for every periodic boundary value.

  5. Pair every periodic region exactly once.

  6. Point material_folder to a directory containing POSCAR and HDF5 data.

  7. Start with a small grid and particle count.

  8. Inspect the generated summary before scaling the calculation.