1. Thermo-Electric Toolbox

This section focuses on defining and solving of a thermo-electric model, which couples heat transfer and electrostatic models. The current flow inside an electrical conductor leads to the heating of the material, due to Joule effect. The temperature in the conductor can be deduced from the standard heat equation whose source term reads from the electrical potential to mimic the Joule effect.

In the following sections, the domain is denoted by \(\Omega \subset \mathbb{R}^d\), \(d=2,3\) and its border by \(\Gamma\).

1.1. Electrostatic problem

The electrostatic model consists in a diffusion equation. The electrical potential \(V\) satisfies

\[\nabla\cdot(-\sigma\nabla V) = 0 ~~\text{in}~~ \Omega\]

where \(\sigma\) is the electrical conductivity.

The electrical conductivity \(\sigma\) often depends on the temperature. The thermo-electric model becomes non-linear in this case.

The current flow within the conductor is modeled by a difference in electrical potential between the current input \(\Gamma_{in} \subset \Gamma\) and the current output \(\Gamma_{out} \subset \Gamma\).

  • \(V=0 ~~\text{on}~~ \Gamma_{in}\)

  • \(V=V_{out} ~~\text{on}~~ \Gamma_{out}\).

We consider in this model that all other boundaries are electrically insulating. This conditions reads from the current density \(\mathbf{j} = - \sigma \nabla V\) as

  • \(\mathbf{j}\cdot\mathbf{n} = -\sigma\nabla V\cdot\mathbf{n} = 0 ~~\text{on}~~ \Gamma \setminus (\Gamma_{in} \cup \Gamma_{out})\).

The local form of Joule’s law defines the heat source corresponding to Joule effect as the dot product of the current density \(\mathbf{j} = - \sigma \nabla V\) by the electric field \(E=-\nabla V\). This product \(P = \sigma \nabla V \cdot \nabla V\) will be the source term of the heat equation defined in the next section.

1.2. Heat transfer problem

The temperature \(T\) satisfies the standard heat equation with the previously introduced Joule effect as source term,

\[\nabla\cdot(-k\nabla T) = \sigma\nabla V\cdot \nabla V ~~\text{in}~~ \Omega\]

where \(k\) is the thermal conductivity.

As for the electrical conductivity \(\sigma\), the thermal conductivity \(k\) can also depends on temperature.

The thermal flux can eventually be controled by a water cooling process which limit the heating. The thermal exchange between the electrical conductor and the cooling water is governed by a convection phenomenon involving a heat transfert coefficient \(h\) and the water temperature \(T_c\). This cooling process is handled by a Robin condition on the cooled regions \(\Gamma_{c} \subset \Gamma\)

  • \(-k\nabla T\cdot\mathbf{n} = h(T-T_c) ~~\text{on}~~ \Gamma_{C}\)

We consider that the thermal exchanges are limited to the cooled region, which amounts to apply an homogeneous Neumann condition on all other boundaries.

  • \(-k\nabla T\cdot \mathbf{n} = 0 ~~\text{on}~~ \Gamma \setminus \Gamma_{C}\)

1.3. Thermo-Electric problem

In the thermo-electric model, we have 4 parameters

  • \(\sigma\) the electrical conductivity

  • \(k\) the thermal conductivity

  • \(T_c\) the water cooling temperature

  • \(h\) the heat transfer coefficient

These parameters can be scalars of fields.

We gather in the following table parameter ranges, nominal values as well as units for \(\sigma, k, T_c, h\).

Table 1. Table of parameters for the simulation



Nominal value




\(53\cdot 10^{6}\)

\(S \cdot m^{-1}\)




\(W\cdot m^{-1} \cdot K^{-1}$\)








\(W \cdot m^{-2} \cdot K^{-1}\)

In the linear case, we first solve for \(V\) and then for \(T\) using \(V\) to compute the Joule effect that generates heat inside \(\Omega\).

1.4. Running the Thermo-electric application

Using Docker, you can run Feel++ model application and in particular the thermo-electric model using the following command

Docker command
pass:[\( docker run -it -v \)]HOME/feel:/feel feelpp/feelpp-toolboxes:latest

Then type the following command in docker environment to run the model

Running Thermo-Electric model
$ cd Testcases/models/thermoelectric/test
$ mpirun -np 4 /usr/local/bin/feelpp_toolbox_thermoelectric_3d --config-file model.cfg