Boundary Conditions
AdditiveFOAM supplies two free-surface boundary conditions in addition to standard OpenFOAM conditions. marangoni is a velocity condition for thermocapillary shear and zero penetration; mixedTemperature is a temperature condition for convection and thermal radiation to an ambient environment. Both are assigned to patches in the corresponding files under 0/, and both can read shared material coefficients from constant/transportProperties.
| Condition | Field | Physical model |
|---|---|---|
marangoni |
U |
Tangential surface-tension stress generated by the surface temperature gradient |
mixedTemperature |
T |
Conductive balance with convective and radiative surface heat loss |
On an exposed build surface, assign marangoni to the patch in 0/U when fluid flow is enabled and assign mixedTemperature to the same patch in 0/T when convective or radiative loss is required. A thermal-only case does not need marangoni, because the velocity solve is disabled. Confirm the patch names match the mesh boundary and supply dSigmadT and emissivity either in transportProperties or directly in the patch dictionaries.
marangoni
Applied to U, this condition removes normal velocity and sets the normal gradient needed to balance viscous and tangential surface-tension stresses.
top
{
type marangoni;
dSigmadT -3.0e-4;
Tmax 3500;
value uniform (0 0 0);
}
| Entry | Required | Default | Meaning |
|---|---|---|---|
dSigmadT |
Yes, locally or globally | — | Surface-tension temperature slope in N/(m K) |
Tmax |
No | Unlimited | Clamp temperature before evaluating its tangential gradient |
value |
No | Evaluated | Patch value written by OpenFOAM |
If dSigmadT is absent from the patch, it is read from transportProperties; absence from both is fatal. The condition reads mu from transportProperties.
Marangoni stress balance
Let \(\mathbf{n}\) be the outward unit normal and define the tangential projector
\[\mathbf{P}=\mathbf{I}-\mathbf{n}\mathbf{n}.\]Here \(\mathbf I\) is the identity tensor and \(\mathbf P\) removes the component parallel to \(\mathbf n\).
The optional temperature cap is applied before differentiating,
\[T^*=\operatorname{clip}_{(-\infty,\,T_{\max}]}\!\left[T\right],\]and the surface gradient is the tangential part of the full temperature gradient:
\[\nabla_sT^*=\mathbf{P}\nabla T^*.\]Here \(T\) is temperature, \(T_{\max}\) is the optional cap, \(T^*\) is the capped temperature, \(\nabla\) is the spatial gradient, and \(\nabla_s\) is its surface-tangential component.
For surface tension \(\sigma(T)\) with the constant configured slope
\[\nabla_s\sigma=\frac{\mathrm{d}\sigma}{\mathrm{d}T}\nabla_sT^*,\]the tangential viscous-stress balance is
\[\mu\mathbf{P}\frac{\partial\mathbf{U}}{\partial n} =\nabla_s\sigma =\frac{\mathrm{d}\sigma}{\mathrm{d}T}\nabla_sT^*.\]Here \(\sigma\) is surface tension, \(\mathrm d\sigma/\mathrm dT\) is dSigmadT, \(\mu\) is dynamic viscosity, and \(\mathbf U\) is velocity.
The condition also enforces no penetration by projecting the adjacent cell velocity \(\mathbf{U}_i\) onto the patch plane:
\[\mathbf{U}_p=\mathbf{P}\mathbf{U}_i, \qquad \mathbf{U}_p\cdot\mathbf{n}=0.\]For a patch-face inverse distance \(\delta_f\) (deltaCoeffs), the implemented vector normal gradient is
The first term is purely normal and supplies the correction needed for \(\mathbf{U}_p\cdot\mathbf{n}=0\). Applying \(\mathbf{P}\) removes that term and recovers the tangential stress balance exactly. For the usual negative dSigmadT, surface tension decreases as temperature rises, so the surface traction points from hotter regions toward cooler, higher-surface-tension regions.
mixedTemperature
Applied to T, this condition combines convection to an ambient temperature with radiation:
top
{
type mixedTemperature;
h 10;
emissivity 0.4;
Tinf uniform 300;
value uniform 300;
}
| Entry | Required | Default | Meaning |
|---|---|---|---|
h |
Yes | — | Convective heat-transfer coefficient in W/(m² K) |
Tinf |
Yes | — | Ambient temperature patch field in K |
emissivity |
Yes, locally or globally | — | Surface emissivity |
value |
No | Tinf |
Patch value written by OpenFOAM |
If emissivity is absent from the patch, it is read from transportProperties. The condition uses the local kappa patch field and a Stefan–Boltzmann constant of \(5.67\times10^{-8}\) W/(m² K⁴).
Convective-radiative temperature balance
With outward normal \(\mathbf{n}\), the conductive heat leaving the domain balances convection and radiation:
\[-\kappa\frac{\partial T}{\partial n} =h(T_p-T_\infty) +\epsilon\sigma_{\mathrm{SB}}(T_p^4-T_\infty^4).\]Here \(\kappa\) is thermal conductivity, \(T_p\) is patch temperature, \(T_\infty\) is Tinf, \(h\) is the convective heat-transfer coefficient, \(\epsilon\) is emissivity, and \(\sigma_{\mathrm{SB}}\) is the Stefan–Boltzmann constant.
The fourth-power difference factors exactly as
\[T_p^4-T_\infty^4 =(T_p-T_\infty)(T_p+T_\infty)(T_p^2+T_\infty^2).\]The condition therefore defines a temperature-dependent radiative coefficient
\[h_{\mathrm{rad}} =\epsilon\sigma_{\mathrm{SB}} (T_p^2+T_\infty^2)(T_p+T_\infty)\]and combines it with convection:
\[h_{\mathrm{eff}}=h+h_{\mathrm{rad}}.\]Here \(h_{\mathrm{rad}}\) is the linearized radiative coefficient and \(h_{\mathrm{eff}}\) is the combined surface heat-transfer coefficient.
The nonlinear flux balance can then be written in Robin form,
\[-\kappa\frac{\partial T}{\partial n} =h_{\mathrm{eff}}(T_p-T_\infty).\]Let \(T_i\) be the adjacent cell temperature and \(\delta_f\) the inverse cell-centre-to-face distance. Using
\[\left.\frac{\partial T}{\partial n}\right|_p \approx\delta_f(T_p-T_i)\]gives
\[-\kappa\delta_f(T_p-T_i) =h_{\mathrm{eff}}(T_p-T_\infty),\]so the patch temperature is
\[T_p= \frac{\kappa\delta_fT_i+h_{\mathrm{eff}}T_\infty} {\kappa\delta_f+h_{\mathrm{eff}}}.\]OpenFOAM expresses this as a mixed condition,
\[T_p=wT_\infty+(1-w)T_i,\]with
\[w=\frac{h_{\mathrm{eff}}}{h_{\mathrm{eff}}+\kappa\delta_f} =\frac{1}{1+\kappa\delta_f/h_{\mathrm{eff}}}.\]Here \(T_i\) is the adjacent-cell temperature, \(\delta_f\) is the inverse normal distance from its centre to the patch face, and \(w\) is OpenFOAM’s mixed-condition value fraction.
The implementation recomputes \(h_{\mathrm{eff}}\) from the current patch temperature whenever it updates the coefficients and floors \(h_{\mathrm{eff}}\) at \(10^{-15}\) when evaluating \(w\). Thus \(w\to1\) approaches a fixed ambient temperature when surface losses dominate, while \(w\to0\) approaches zero gradient when conduction to the face dominates.