Volumetric Heat Source Condition¶
The volumetric heat source condition defines a prescribed heat power density within a solid volume. It represents internal heat generation and appears as the source term on the right-hand side of the solid temperature governing equation: $$ Q = Q_0. $$
- \(Q\) - volumetric heat power density [W/m\(^3\)]
- \(Q_0\) - prescribed volumetric heat power density [W/m\(^3\)]
Applicability¶
This condition is used when heat is generated within the volume of a material rather than entering through the boundary.
Typical use cases¶
- Resistive / Joule heating \(Q = \sigma_e |E|^2\) — when the electromagnetic model is not solved (e.g. derived from a lumped current estimate).
- Welding and additive-manufacturing heat sources (Goldak ellipsoid, moving spot, ring source) using a position- and time-dependent coefficient.
- Nuclear or radioactive decay heating with a prescribed power map.
- Exothermic chemical or curing reactions modelled with a user-supplied source term.
Example¶
A scalar value is auto-wrapped into a coefficient:
condition = VolumetricHeatSourceCondition(
name="My Volumetric Heat Source Condition",
marker=my_marker,
heat_power_density=33000.0,
)
A coefficient function can be passed directly for space- or time-dependent sources (e.g. a moving welding heat source):
import mufem
cff_heat_power_density = mufem.CffExpressionScalar(
"1e6 * exp(-((x() - 0.1 * {Time})^2 + y()^2) / 0.01)"
)
condition = VolumetricHeatSourceCondition(
name="Welding Heat Source",
marker=my_marker,
heat_power_density=cff_heat_power_density,
)
When the volumetric heating comes from another model (Joule heating from an electromagnetic model, for instance), the coupling is registered automatically and you do not need to add this condition.