Thermoelectricity (T + φ)
Overview
Thermo-electric (Seebeck/Peltier) coupling. Thermoelectricity() couples the temperature :T and the electric potential :φ through the Seebeck coefficient S, using the material’s conductivity k and electrical conductivity σ.
using Rasmah
# 1. geometry, 2. exact BRep + face selection, 3. mesh
part = box(1.0, 1.0, 1.0)
b = brep(part)
left = faces_in_box(b, [-0.6, -1.0, -1.0], [-0.4, 1.0, 1.0]) # hot end
right = faces_in_box(b, [ 0.4, -1.0, -1.0], [ 0.6, 1.0, 1.0]) # cold end
mesh = tetrahedralize(b, 8)
res = solve(Thermoelectricity(), mesh, bismuth_telluride;
fixed_T = [left => 400.0, right => 300.0],
fixed_φ = [left => 0.0, right => 0.0])
println("T range = ", round(minimum(res.T); digits = 2), " … ",
round(maximum(res.T); digits = 2))
println("Seebeck voltage φ range = ", round(minimum(res.φ); digits = 4), " … ",
round(maximum(res.φ); digits = 4))T range = 300.0 K … 400.0 K
Seebeck voltage φ range = 0.0 m^2·kg/(s^3·A) … 0.0 m^2·kg/(s^3·A)
Visualize the geometry and the temperature field:
vtk(b)vtk(mesh; field = res.T, fieldname = "temperature")Notes
- A temperature gradient across a thermoelectric material produces a thermoelectric (Seebeck) potential — here visible as a nonzero
φdespite the grounded electrodes. - Fields are
(T, φ); the coupling is one-way (thermal → electric).
