System analysis: Energy balance example

Author

David Kneis (firstname.lastname @ tu-dresden.de)

Published

February 15, 2026

1 Motivation

System analysis is largely concerned with budgets. Since we exclusively focused on budgets of nutrients and suspended microorganisms so far, let’s consider something totally different (Figure 1). Here, we try to answer the question of how much fish a penguin needs to ingest in order to keep its body temperature. Consequently, the variable of interest in this example is thermal energy. The term heat is sometimes used interchangeably with thermal energy in spite of a slightly different definition.

Figure 1: Fat penguin in the cold dreaming of a high-energy snack.

2 Concept

2.1 Simplifying assumptions

To make the question tractable, we need to make a number of simplifying assumptions about the penguin and its behavior.

  • All energy taken up via food is assumed to be converted into heat rather than work. For example, we neglect that the penguin may paddle in water and additional energy is lost for creating turbulence.

  • The body shall be represented by a simple shape like a cylinder such that volume and surface are given by the height and diameter. Any further details of the body are neglected.

  • Our penguin shall be a lonesome stranger who does not take part in huddling events.

  • In reality, the loss of thermal energy is due to multiple simultaneous processes and their relative importance is variable. We focus on the processes accessible through simple computation but neglect other ones.

2.2 Thermal energy balance

The governing equation is the heat balance (Equation 1), stating that a change in the body’s thermal energy \(W\) equals the balance of energy gains (\(Q_{in}\)) and losses (\(Q_{out}\)). A common base unit for all items in Equation 1 would be Watts (Joule / second). However, for the given example, it is convenient to express heat change and fluxes in kJ / day instead.

\[ \frac{d}{dt} W = Q_{in} - Q_{out} \tag{1}\]

2.3 Relation between thermal energy and temperature

We are primarily interested in the penguin’s body temperature (\(T\)) rather then the amount of stored thermal energy \(W\). So we must know how to convert between these two alternative state variables. They are linked through body mass (\(m\); kg) and the corresponding specific heat capacity (\(c\), kJ/kg/K) as expressed by Equation 2.

\[ W = T \cdot m \cdot c \tag{2}\]

The value of \(c\) needs to account for the material composition of the penguin. In the absence of better knowledge, one could likely assume \(c = 4.18\) (the specific heat capacity of water).

Making use of Equation 2, one could instantly rewrite the heat balance equation (Equation 1) in terms of temperature resulting in Equation 3.

\[ \frac{d}{dt} T = \frac{Q_{in} - Q_{out}}{m \cdot c} \tag{3}\]

2.4 Approaches to solving the balance equations

For a body to keep a constant temperature, the derivative \(\frac{d}{dt} T\) must be zero. As stated by Equation 3, this requires a perfect compensation of any loss of thermal energy by a corresponding gain, i.e. \(Q_{in} = Q_{out}\), which represents a classical steady state. Interestingly, body mass and heat capacity do not need to be known for a steady state solution because the denominator on the right hand side of Equation 3 vanishes if the left hand side is zero.

However, if Equation 3 is employed to predict temperature dynamics by means of integration, one must account for the body’s mass and heat capacity.

3 Estimating energy fluxes

3.1 Energy gain (\(Q_{in}\))

For simplicity, we neglect a possible gain from solar radiation and consider food as the sole source of energy. Hence, \(Q_{in}\) (kJ/day) is determined by the ingested mass (\(m_{food}\)) and the specific energy content \(e_{food}\) (Equation 4). The latter can be looked up in various tables and an approximate value (for herring) is about 6370 kJ/kg.

\[ Q_{in} = m_{food} \cdot e_{food} \tag{4}\]

3.2 Energy loss (\(Q_{out}\))

The penguin potentially looses thermal energy by three distinct physical processes: thermal conduction, thermal radiation, and thermal convection (evaporation is likely irrelevant).

For simplicity, we will neglect any convective heat losses. The latter would be attributable to breathing and the excretion of feces, for example. However, we assume convection of the surrounding air leading to wind chill.

Likewise, we will not try to compute losses due to thermal radiation because of too many unknowns. However, according to this paper, radiative loss is relevant, especially where the body is not well protected by feathers. In principle, radiative losses could be calculated based on the Stefan-Boltzmann law, leading to an expression where the energy flow is proportional to \(T_{body}^4 - T_{environment}^4\) (the difference reflects the balance between outgoing and incoming radiation). However, for a body with insulation, the effective temperatures and parameters like emissivities are difficult to estimate.

Consequently, we limit ourselves to energy losses by thermal conduction which can be described by a simple law (Equation 5)

\[ Q_{out} = A \cdot \lambda \cdot \frac{T_{body} - T_{environment}}{L} \cdot \frac{86400}{1000} \tag{5}\]

with \(Q_{out}\) given in kJ/day and:

  • \(A\): surface area (m²),
  • \(\lambda\): thermal conductivity (W/m/K),
  • \(L\): thickness of the insulation layer (m),
  • 86400: seconds / day
  • 1/1000: kJ/J

Note that Equation 5 is structurally similar to other physical laws predicting the flux (of matter) to be linearly related to spatial gradients. Examples include the 1st law of diffusion or Darcy’s law.

Applying Equation 5 would be straightforward if there was a single layer of insulation. The penguin, however, is protected by a layer of air (feathers) and a layer of fat with the latter also serving energy storage. How can we account for the two layers with their individual conductivity and thickness in Equation 5? Since multi-layer insulation is common in modern construction, I found the solution in some text on energy-efficient buildings. The idea is to temporarily consider the heat transfer resistance instead of conductivity (resistance = 1 / conductivity), to sum up resistances over the layers, and to invert the result again to obtain the heat transfer coefficient \(U\) in units of W/m²/K (Equation 6).

\[ U = \frac{1}{\frac{L_1}{\lambda_1} + \frac{L_2}{\lambda_2}} \tag{6}\]

Using Equation 6, we can rewrite Equation 5 as Equation 7.

\[ Q_{out} = A \cdot U \cdot \left(T_{body} - T_{environment} \right) \cdot \frac{86400}{1000} \tag{7}\]

4 Steady state solution

Combining Equation 4 and Equation 7 by setting \(Q_{in} = Q_{out}\) and solving for \(m_{food}\) yields the approximate amount of fish needed:

# assumed temperatures (°C)
T_body <- 37
T_env <- -20

# assumed surface area of the (emperor) penguin (m²)
diameter <- 0.25
height <- 1.0
area <- 3.1415 * diameter * height

# assumed insulation parameters
thick_fat <- 0.02   # thickness of fat layer (m)
lambda_fat <- 0.14  # approx. thermal conductivity of fat (W/m/K)
thick_air <- 0.02   # thickness of feather layer (m)
lambda_air <- 0.026 # thermal conductivity of air (W/m/K)

# resulting heat transfer coef. (W/m²/K)
U <- 1 / (thick_fat/lambda_fat + thick_air/lambda_air)

# energy content of food (kJ / kg)
e_food <- 6370

# estimated mass of food required (kg / d)
m_food <- area * U * (T_body - T_env) * 86400 / 1000 / e_food
print(paste("Estimate (kg):",signif(m_food, 3),"kg / d"))
[1] "Estimate (kg): 0.666 kg / d"

Overall, the obtained number is in a feasible range. In comparison to reported amounts, however, the computed result is clearly an underestimate. This is not surprising, given that energy losses due to thermal radiation and convection were neglected. We may conclude that these other forms or heat loss are likely responsible for about 70% of total losses.

Our conduction-only estimate still allows for a simple sensitivity analysis. For example, we could study the effect of an assumed oil contamination of the feathers, compromising the respective layer of insulation.

# layer reduced by factor 10
thick_air <- thick_air / 10
U <- 1 / (thick_fat/lambda_fat + thick_air/lambda_air)

# estimated mass of food required (kg / d)
m_food <- area * U * (T_body - T_env) * 86400 / 1000 / e_food
print(paste("Estimate (kg):",signif(m_food, 3),"kg / d"))
[1] "Estimate (kg): 2.76 kg / d"

The result suggest that hypothermia is likely one of the reasons behind high mortality of sea birds after oil spills.

5 More about penguins

…, their food, behavior, and life cycle can be found in this book, for example.