Chapter 1: Introduction to System Dynamics

Lesson 3: Lumped vs. Distributed Parameter Systems

This lesson introduces the fundamental distinction between lumped-parameter and distributed-parameter models in system dynamics. We characterize both classes in mathematical terms, show how distributed systems can be approximated by lumped models via spatial discretization, and present criteria for when lumped modeling is appropriate. A simple thermal conduction example is implemented in Python, C++, Java, MATLAB/Simulink, and Wolfram Mathematica to illustrate the transition from a continuum model to coupled ordinary differential equations.

1. Conceptual Overview: What Is Being Lumped or Distributed?

In system dynamics, we select a finite set of variables to describe the evolution of a physical system. These variables typically represent energy storage and mass storage in different domains (mechanical, electrical, thermal, fluid, etc.). The key modeling decision in this lesson is whether we treat physical quantities as uniform within each component (lumped) or allow them to vary continuously with position (distributed).

Let \( \mathcal{D} \subset \mathbb{R}^3 \) denote the spatial domain of a system (e.g., the volume of a solid rod). A physical field such as temperature can be represented as a function

\[ T : \mathcal{D} \times [0,\infty) \to \mathbb{R}, \quad (\mathbf{x},t) \mapsto T(\mathbf{x},t). \]

A distributed-parameter model describes directly the evolution of such fields. A lumped-parameter model replaces the continuum field by a finite set of generalized coordinates \( q_1(t),\dots,q_n(t) \) that are assumed to be representative averages over spatial regions (or components).

flowchart TD
  A["Start: Physical system with spatial domain D"] --> B["Identify dominant energy / mass storage"]
  B --> C{"Spatial variation \nimportant?"}
  C -->|"No (approximately uniform)"| L["Lumped model: finite DOF, ODEs"]
  C -->|"Yes (strong gradients)"| D1["Distributed model: fields over space-time"]
  D1 --> E["Governing PDEs (intro only here)"]
  E --> F["Later: numerical methods & modal analysis"]
  L --> G["Standard system dynamics in early chapters"]
        

In this course, the majority of early chapters (mechanical, electrical, fluid, and thermal modeling) will use lumped models: we represent the system by a finite set of ordinary differential equations (ODEs). Later chapters return to truly distributed-parameter models described by partial differential equations (PDEs).

2. Lumped-Parameter Systems: Finite-Dimensional ODE Models

The defining characteristic of a lumped-parameter system is that the state of the system is described by a finite-dimensional vector of variables:

\[ \mathbf{x}(t) = \begin{bmatrix} x_1(t) \\ x_2(t) \\ \vdots \\ x_n(t) \end{bmatrix} \in \mathbb{R}^n, \]

where each \( x_i(t) \) typically corresponds to an energy or mass storage element (e.g., capacitor voltage, inductor current, mass position, element temperature). The dynamics are expressed as an ordinary differential equation

\[ \frac{\mathrm{d}\mathbf{x}(t)}{\mathrm{d}t} = \mathbf{f}\big(\mathbf{x}(t), \mathbf{u}(t), t\big), \]

for some input vector \( \mathbf{u}(t) \). For linear time-invariant (LTI) lumped systems, the relationship between a scalar input \( u(t) \) and scalar output \( y(t) \) can be written as an input–output ODE of finite order:

\[ a_n \frac{\mathrm{d}^n y(t)}{\mathrm{d}t^n} + a_{n-1} \frac{\mathrm{d}^{n-1} y(t)}{\mathrm{d}t^{n-1}} + \dots + a_1 \frac{\mathrm{d}y(t)}{\mathrm{d}t} + a_0 y(t) = b_m \frac{\mathrm{d}^m u(t)}{\mathrm{d}t^m} + \dots + b_0 u(t), \]

where \( a_n \neq 0 \) and \( n \) is called the order of the system. In later chapters we will systematically derive such ODEs from physical laws (Newton, Kirchhoff, energy balances), but the essential point here is:

Definition (Lumped-parameter system): A system is said to admit a lumped model if its dynamics can be accurately represented by a finite-dimensional ODE (or a finite set of coupled ODEs) for the chosen input/output variables and operating conditions.

Examples that will appear repeatedly:

  • Mass–spring–damper systems (translational and rotational).
  • Finite RLC electrical networks.
  • Simple thermal nodes with a single uniform temperature per node.
  • Fluid tanks with well-mixed contents and uniform pressure or level per tank.

3. Distributed-Parameter Systems: Fields and PDE-Type Models

In many physical systems, spatial variation cannot be neglected. Examples include:

  • Heat conduction along a long, slender rod with significant temperature gradients.
  • Vibration of strings, beams, or flexible shafts with non-negligible deformation shape.
  • Propagation of electrical signals in long transmission lines.
  • Fluid flow in long pipes with varying pressure and velocity along the length.

In such cases, one uses a distributed-parameter model, in which the state variable is a function of both space and time. For a one-dimensional rod of length \( L \), the temperature field \( T(x,t) \) satisfies a heat balance over each differential element \( [x,x+\Delta x] \). In the limit \( \Delta x \to 0 \), this leads to the classical one-dimensional heat equation:

\[ \rho c A \frac{\partial T(x,t)}{\partial t} = k A \frac{\partial^2 T(x,t)}{\partial x^2} + q(x,t), \quad 0 \le x \le L,\; t \ge 0, \]

where:

  • \( \rho \) is the material density,
  • \( c \) is specific heat,
  • \( A \) is cross-sectional area,
  • \( k \) is thermal conductivity,
  • \( q(x,t) \) is volumetric heat generation per unit length.

Mathematically, the state is no longer a finite vector but a function \( T(\cdot,t) \) living in an infinite-dimensional function space (e.g., a space of sufficiently smooth functions on \( [0,L] \)). This is the defining feature:

Definition (Distributed-parameter system): A system whose state is described by one or more fields depending on both space and time, and whose dynamics are governed by partial differential equations or related infinite-dimensional models (integral equations, delay equations, etc.).

In this introductory chapter we treat distributed models mainly at a conceptual level. Chapter 19 will later develop systematic tools for their analysis and approximation.

4. From Distributed to Lumped: Spatial Discretization of a Rod

Although distributed models are more accurate, control design and simulation often benefit from reduced-order, lumped approximations. A standard approach is to discretize space into a finite number of segments and approximate spatial derivatives by finite differences. This yields a system of coupled ODEs.

Consider again the one-dimensional rod of length \( L \) and divide it into \( N \) segments of equal length \( \Delta x = L/N \). Associate a temperature variable \( T_i(t) \) with the center of segment \( i \), for \( i = 1,\dots,N \). The energy balance over segment \( i \) gives:

\[ \rho c A \Delta x \frac{\mathrm{d}T_i(t)}{\mathrm{d}t} = \dot{Q}_{i-1 \to i}(t) - \dot{Q}_{i \to i+1}(t) + q_i(t) A \Delta x, \]

where \( \dot{Q}_{i-1 \to i} \) is the conductive heat flow from segment \( i-1 \) into \( i \). Using Fourier's law in one dimension with a finite-difference approximation,

\[ \dot{Q}_{i-1 \to i}(t) \approx k A \frac{T_{i-1}(t) - T_i(t)}{\Delta x}, \quad \dot{Q}_{i \to i+1}(t) \approx k A \frac{T_i(t) - T_{i+1}(t)}{\Delta x}, \]

we obtain, for interior nodes \( i=2,\dots,N-1 \),

\[ \rho c A \Delta x \frac{\mathrm{d}T_i(t)}{\mathrm{d}t} = k A \frac{T_{i-1}(t) - 2 T_i(t) + T_{i+1}(t)}{\Delta x} + q_i(t) A \Delta x. \]

Rearranging,

\[ \frac{\mathrm{d}T_i(t)}{\mathrm{d}t} = \alpha \frac{T_{i-1}(t) - 2 T_i(t) + T_{i+1}(t)}{\Delta x^2} + \frac{q_i(t)}{\rho c}, \quad \alpha = \frac{k}{\rho c}, \]

which is a system of \( N \) coupled ODEs for the vector \( \mathbf{T}(t) = [T_1(t),\dots,T_N(t)]^\top \). With appropriate boundary conditions handled at \( i=1 \) and \( i=N \) (e.g., convection, insulation), we obtain a lumped model approximating the distributed system. As \( N \) increases and \( \Delta x \) decreases, the lumped model converges to the continuum description in a suitable sense.

This simple procedure illustrates a very general idea: distributed-parameter fields can often be approximated by large but finite lumped models. Modern numerical methods (finite differences, finite elements) formalize and generalize this construction.

5. Validity of Lumped Models: Physical and Dimensionless Criteria

Lumped modeling is an approximation. Its validity depends on whether spatial gradients inside each component are small enough for the variables \( q_i(t) \) to represent the underlying fields adequately. Two important perspectives are:

  1. Time scales of internal diffusion vs. external dynamics.
  2. Dimensionless parameters comparing internal and external resistance.

For instance, in thermal systems, an important dimensionless number is the Biot number:

\[ \text{Bi} = \frac{h L_c}{k}, \]

where \( h \) is the convection coefficient at the surface, \( L_c \) is a characteristic length of the body, and \( k \) is thermal conductivity. When \( \text{Bi} \) is sufficiently small (a common engineering rule is \( \text{Bi} \lesssim 0.1 \)), internal conduction equilibrates much faster than heat exchange with the environment, and the body can often be modeled as having a uniform temperature (a single thermal lump).

Analogous reasoning appears in other domains:

  • In electrical transmission, lumped RLC circuits approximate transmission lines when the line length is small compared to the signal wavelength and rise time.
  • In fluid systems, tanks are treated as well mixed when internal mixing time is short compared to inflow/outflow time constants.
  • In structural mechanics, rigid-body models are used when deflections are small compared to the body dimensions and the frequencies of interest are far below the first flexible mode.

Key modeling principle: Always compare the internal transport (diffusion, mixing, propagation) time scale to the external forcing and control time scales. If internal transport is much faster, a lumped model is often sufficient and greatly simplifies analysis.

6. Computational Example – Lumped Approximation of a Thermal Rod

We now implement the lumped model derived in Section 4 for a simple case: a rod of length \( L \), initially at uniform temperature \( T_0 \), whose left end is suddenly heated and whose right end is insulated. We model it as \( N \) nodes, each with heat capacity \( C = \rho c A \Delta x \), and conductance \( G = k A / \Delta x \) between neighboring nodes.

For interior nodes \( i=2,\dots,N-1 \), the ODE is:

\[ C \frac{\mathrm{d}T_i(t)}{\mathrm{d}t} = G\big(T_{i-1}(t) - 2 T_i(t) + T_{i+1}(t)\big). \]

Boundary conditions (for simplicity):

  • Node \( i=1 \): prescribed boundary temperature \( T_{\text{left}}(t) \).
  • Node \( i=N \): insulated end, modeled as \( T_N \) connected only to \( T_{N-1} \).

6.1 Python Implementation (SciPy / NumPy)

Python offers convenient tools for system dynamics via NumPy (vectorized computations) and SciPy (ODE solvers). Below we use scipy.integrate.solve_ivp to simulate the lumped rod.


import numpy as np
from scipy.integrate import solve_ivp
import matplotlib.pyplot as plt

# Physical parameters
rho = 7800.0      # density [kg/m^3]
c   = 500.0       # specific heat [J/(kg K)]
k   = 45.0        # thermal conductivity [W/(m K)]
A   = 1.0e-3      # cross-sectional area [m^2]
L   = 0.5         # rod length [m]
N   = 10          # number of lumped nodes

dx = L / N
C = rho * c * A * dx       # lumped heat capacity [J/K]
G = k * A / dx             # conductance between neighbors [W/K]

T0 = 300.0                 # initial uniform temperature [K]
T_left_step = 400.0        # boundary temperature at x = 0 for t >= 0

def rod_ode(t, T):
    # T is a vector of length N: [T1, T2, ..., TN]
    dTdt = np.zeros_like(T)

    # Node 1: forced to track T_left_step via large conductance to a "source"
    # Simple approach: treat it as a first-order lag toward T_left_step
    tau_b = 0.1
    dTdt[0] = (T_left_step - T[0]) / tau_b

    # Interior nodes: conduction from neighbors
    for i in range(1, N - 1):
        dTdt[i] = (G / C) * (T[i - 1] - 2.0 * T[i] + T[i + 1])

    # Node N: insulated boundary (no flux at right end)
    # Approximate with one-sided conduction to node N-1:
    dTdt[N - 1] = (G / C) * (T[N - 2] - T[N - 1])

    return dTdt

# Initial condition
T_init = np.full(N, T0)

# Time span
t_span = (0.0, 50.0)          # seconds
t_eval = np.linspace(t_span[0], t_span[1], 400)

sol = solve_ivp(rod_ode, t_span, T_init, t_eval=t_eval)

# Plot temperatures of a few nodes
plt.figure()
for idx in [0, int(N/2), N - 1]:
    plt.plot(sol.t, sol.y[idx, :], label=f"Node {idx+1}")
plt.xlabel("Time [s]")
plt.ylabel("Temperature [K]")
plt.legend()
plt.grid(True)
plt.show()
      

6.2 C++ Implementation (from Scratch, with Note on Boost.Odeint)

In C++, we can implement the same lumped model with a simple explicit Euler integrator. For more advanced work in later chapters, the library boost::numeric::odeint provides robust ODE solvers and is well suited to system dynamics.


#include <iostream>
#include <vector>

int main() {
    const double rho = 7800.0;
    const double c   = 500.0;
    const double k   = 45.0;
    const double A   = 1.0e-3;
    const double L   = 0.5;
    const int    N   = 10;

    const double dx = L / static_cast<double>(N);
    const double C  = rho * c * A * dx;
    const double G  = k * A / dx;

    const double T0          = 300.0;
    const double T_left_step = 400.0;

    std::vector<double> T(N, T0);
    std::vector<double> dTdt(N, 0.0);

    double t      = 0.0;
    double t_end  = 50.0;
    double dt     = 0.01;

    while (t < t_end) {
        // Compute derivatives
        // Node 1: first-order lag to boundary temperature
        const double tau_b = 0.1;
        dTdt[0] = (T_left_step - T[0]) / tau_b;

        // Interior nodes
        for (int i = 1; i < N - 1; ++i) {
            dTdt[i] = (G / C) * (T[i - 1] - 2.0 * T[i] + T[i + 1]);
        }

        // Node N: insulated boundary
        dTdt[N - 1] = (G / C) * (T[N - 2] - T[N - 1]);

        // Explicit Euler update
        for (int i = 0; i < N; ++i) {
            T[i] += dt * dTdt[i];
        }

        t += dt;
    }

    // Print final temperature profile
    for (int i = 0; i < N; ++i) {
        std::cout << "Node " << (i + 1) << ": " << T[i] << " K\n";
    }
    return 0;
}
      

6.3 Java Implementation (Using a Simple Time-Stepping Loop)

In Java, the Apache Commons Math library offers ODE solvers, but for illustration we again use an explicit Euler method.


public class LumpedRod {

    public static void main(String[] args) {

        final double rho = 7800.0;
        final double c   = 500.0;
        final double k   = 45.0;
        final double A   = 1.0e-3;
        final double L   = 0.5;
        final int    N   = 10;

        final double dx = L / N;
        final double C  = rho * c * A * dx;
        final double G  = k * A / dx;

        final double T0          = 300.0;
        final double T_left_step = 400.0;

        double[] T    = new double[N];
        double[] dTdt = new double[N];

        for (int i = 0; i < N; i++) {
            T[i] = T0;
        }

        double t     = 0.0;
        double tEnd  = 50.0;
        double dt    = 0.01;

        while (t < tEnd) {
            // Node 1: boundary
            double tau_b = 0.1;
            dTdt[0] = (T_left_step - T[0]) / tau_b;

            // Interior
            for (int i = 1; i < N - 1; i++) {
                dTdt[i] = (G / C) * (T[i - 1] - 2.0 * T[i] + T[i + 1]);
            }

            // Node N: insulated
            dTdt[N - 1] = (G / C) * (T[N - 2] - T[N - 1]);

            // Euler update
            for (int i = 0; i < N; i++) {
                T[i] += dt * dTdt[i];
            }

            t += dt;
        }

        for (int i = 0; i < N; i++) {
            System.out.println("Node " + (i + 1) + ": " + T[i] + " K");
        }
    }
}
      

6.4 MATLAB/Simulink Implementation

MATLAB provides built-in ODE solvers such as ode45. The lumped rod can be implemented as follows (script-level code):


function lumped_rod_demo
    rho = 7800.0;
    c   = 500.0;
    k   = 45.0;
    A   = 1.0e-3;
    L   = 0.5;
    N   = 10;

    dx = L / N;
    C  = rho * c * A * dx;
    G  = k * A / dx;

    T0          = 300.0;
    T_left_step = 400.0;

    T_init = T0 * ones(N, 1);

    tspan = [0 50];

    ode_fun = @(t, T) rod_ode(t, T, C, G, T_left_step);

    [t, T] = ode45(ode_fun, tspan, T_init);

    figure;
    plot(t, T(:, 1), t, T(:, round(N/2)), t, T(:, N));
    xlabel('Time [s]');
    ylabel('Temperature [K]');
    legend('Node 1', 'Middle node', 'Node N');
    grid on;
end

function dTdt = rod_ode(t, T, C, G, T_left_step)
    N = length(T);
    dTdt = zeros(N, 1);

    % Node 1: first-order lag
    tau_b = 0.1;
    dTdt(1) = (T_left_step - T(1)) / tau_b;

    % Interior nodes
    for i = 2:N-1
        dTdt(i) = (G / C) * (T(i-1) - 2*T(i) + T(i+1));
    end

    % Node N: insulated
    dTdt(N) = (G / C) * (T(N-1) - T(N));
end
      

In Simulink, the same model can be constructed as a chain of integrator blocks, one per node, with sum and gain blocks implementing the finite-difference conduction terms between neighbors. This is a direct graphical representation of the ODE system derived above.

6.5 Wolfram Mathematica Implementation (NDSolve)

Wolfram Mathematica provides the NDSolve function for numerical solution of ODE systems. Here is a direct transcription of the lumped model:


(* Physical parameters *)
rho = 7800.;
c   = 500.;
k   = 45.;
A   = 1.*10^-3;
L   = 0.5;
N   = 10;

dx = L/N;
C  = rho*c*A*dx;
G  = k*A/dx;

T0          = 300.;
TleftStep   = 400.;

(* Define ODE system *)
vars = Table[T[i][t], {i, 1, N}];

eqns = {};
tauB = 0.1;

(* Node 1 *)
AppendTo[eqns, C*Derivative[1][T[1]][t] == (TleftStep - T[1][t])/tauB * C];

(* Interior nodes *)
Do[
  AppendTo[
    eqns,
    C*Derivative[1][T[i]][t] ==
      G*(T[i - 1][t] - 2*T[i][t] + T[i + 1][t])
  ],
  {i, 2, N - 1}
];

(* Node N: insulated *)
AppendTo[
  eqns,
  C*Derivative[1][T[N]][t] == G*(T[N - 1][t] - T[N][t])
];

(* Initial conditions *)
ics = Table[T[i][0] == T0, {i, 1, N}];

sol = NDSolve[
  Join[eqns, ics],
  vars,
  {t, 0, 50}
];

(* Plot selected nodes *)
Plot[
  Evaluate[{T[1][t], T[Floor[N/2]][t], T[N][t]} /. sol],
  {t, 0, 50},
  PlotLegends -> {"Node 1", "Middle node", "Node N"},
  AxesLabel -> {"t [s]", "T [K]"}
]
      

This example emphasizes that lumped vs. distributed is primarily a modeling choice. Numerically, both viewpoints are bridged by discretization, leading to finite-dimensional ODE models independent of the implementation language.

7. Conceptual Flow – From PDE to Lumped ODE Model

The modeling and discretization procedure we used above can be viewed as a systematic pipeline that starts from physical laws and ends with a finite-dimensional dynamic model suitable for control design and simulation.

flowchart TD
  A["Physical laws (energy, momentum, charge)"] --> B["Continuous model: PDE for fields"]
  B --> C["Choose spatial discretization (grid, segments, elements)"]
  C --> D["Derive balance equations on each lump"]
  D --> E["Obtain coupled ODEs for lumped states"]
  E --> F["Use ODE model for analysis, control, simulation"]
        

Later chapters will revisit each step in more detail. For now, you should be comfortable with the idea that distributed systems can be approximated by lumped models, and that the accuracy of this approximation depends on both spatial resolution and physical time-scale separation.

8. Problems and Solutions

The following problems reinforce the distinction between lumped and distributed parameter systems, and practice the derivation of lumped models from simple distributed descriptions.

Problem 1 (Classification of Models): For each of the following systems, state whether a lumped or distributed model is more appropriate and briefly justify your answer.

  1. A short copper wire used to connect two components on a PCB carrying low-frequency signals.
  2. A very long power transmission line carrying high-frequency switching transients.
  3. A small metal sphere suddenly exposed to a hot air stream.
  4. A thick concrete wall separating two rooms at different temperatures.

Solution:

  • (1) The short copper wire can usually be modeled as a lumped resistor (or RLC element) because the physical length is small compared to signal wavelengths and rise times, so voltage and current are nearly uniform along the wire.
  • (2) The long power transmission line is better modeled as a distributed system (telegrapher's equations), because voltage and current can vary significantly along its length and wave propagation effects are important.
  • (3) The small metal sphere may be approximated as a lumped thermal node when the Biot number is small (internal conduction faster than external convection), so its temperature is nearly uniform inside.
  • (4) The thick concrete wall often requires a distributed (or multi-lump) model, since there can be substantial temperature gradients across its thickness before reaching steady state.

Problem 2 (Energy Balance and Lumped Thermal Capacity): Consider a single thermal lump with temperature \( T(t) \) and heat capacity \( C \), exchanging heat with an environment at temperature \( T_{\infty} \) via convection with coefficient \( h \) and surface area \( A_s \). Derive the governing ODE for \( T(t) \) assuming no internal heat generation.

Solution:

The energy balance on the lump is:

\[ C \frac{\mathrm{d}T(t)}{\mathrm{d}t} = - \dot{Q}_{\text{conv}}(t), \]

where the convective heat flow from the lump to the environment is \( \dot{Q}_{\text{conv}} = h A_s \big(T(t) - T_{\infty}\big) \). A positive \( T(t) - T_{\infty} \) means heat is leaving the lump. Substituting,

\[ C \frac{\mathrm{d}T(t)}{\mathrm{d}t} = - h A_s \big(T(t) - T_{\infty}\big). \]

Dividing by \( C \),

\[ \frac{\mathrm{d}T(t)}{\mathrm{d}t} = - \frac{h A_s}{C}\big(T(t) - T_{\infty}\big), \]

which is a first-order linear ODE describing exponential approach of \( T(t) \) toward \( T_{\infty} \). This is a canonical lumped-parameter model.

Problem 3 (Finite Difference Approximation of a Rod): Starting from the one-dimensional heat equation for a uniform rod, \[ \rho c A \frac{\partial T(x,t)}{\partial t} = k A \frac{\partial^2 T(x,t)}{\partial x^2}, \] derive the finite-difference ODE for an interior node in a uniform discretization with spacing \( \Delta x \).

Solution:

For an interior node at position \( x_i = i \Delta x \), approximate the second spatial derivative by the centered difference:

\[ \frac{\partial^2 T(x_i,t)}{\partial x^2} \approx \frac{T_{i-1}(t) - 2 T_i(t) + T_{i+1}(t)}{\Delta x^2}, \]

where \( T_i(t) \) denotes \( T(x_i,t) \). Substituting this into the PDE and canceling \( A \),

\[ \rho c \frac{\mathrm{d}T_i(t)}{\mathrm{d}t} \approx k \frac{T_{i-1}(t) - 2 T_i(t) + T_{i+1}(t)}{\Delta x^2}. \]

Multiplying both sides by \( \Delta x \) yields the lumped-node energy balance with capacity \( C = \rho c A \Delta x \) and conductance \( G = k A / \Delta x \), reproducing the ODE in Section 4:

\[ C \frac{\mathrm{d}T_i(t)}{\mathrm{d}t} = G\big(T_{i-1}(t) - 2 T_i(t) + T_{i+1}(t)\big). \]

Problem 4 (Biot Number and Lumped Approximation): A small aluminum cylinder of characteristic length \( L_c = 0.01 \,\text{m} \) is exposed to air with convection coefficient \( h = 25 \,\text{W/(m}^2\text{K)} \). The thermal conductivity of aluminum is approximately \( k = 205 \,\text{W/(m K)} \). Compute the Biot number and comment on the validity of the lumped-capacitance model.

Solution:

The Biot number is

\[ \text{Bi} = \frac{h L_c}{k} = \frac{25 \cdot 0.01}{205} \approx 0.00122. \]

This value is much less than \( 0.1 \). Therefore, internal temperature gradients within the cylinder are expected to be small compared to the temperature difference between the surface and the surrounding air, and the lumped-capacitance model is typically very accurate for transient thermal analysis of this object.

Problem 5 (Degrees of Freedom in Lumped vs. Distributed Models): Explain qualitatively why a vibrating string modeled by the wave equation has infinitely many degrees of freedom, while a chain of \( N \) masses connected by springs has only \( N \) mechanical degrees of freedom. How does increasing \( N \) improve the approximation of the string by the mass–spring chain?

Solution:

The wave equation for a string describes the transverse displacement \( y(x,t) \) at every point \( x \) along the string, so at a fixed time \( t \) the state is a function \( y(\cdot,t) \). Representing an arbitrary function on a continuum interval requires infinitely many parameters (for example, Fourier coefficients). Thus the continuum model has infinitely many degrees of freedom.

By contrast, a chain of \( N \) lumped masses has \( N \) displacement coordinates, one per mass, so its state is the finite-dimensional vector \( [y_1(t), \dots, y_N(t)]^\top \). As \( N \) increases, the discrete masses provide a finer sampling of the string, and the discrete mode shapes and natural frequencies converge to those of the continuous string. In the limit \( N \to \infty \), with appropriate scaling, the mass–spring chain approximates the distributed string model arbitrarily well.

9. Summary

In this lesson we introduced the crucial distinction between lumped- and distributed-parameter models in system dynamics. Lumped models represent system behavior by a finite set of ordinary differential equations, typically one state per energy or mass storage element. Distributed models, by contrast, describe fields depending on both space and time, leading to partial differential equations and infinite-dimensional state descriptions.

We showed how a distributed system, such as a heated rod, can be approximated by a finite chain of lumped nodes via spatial discretization. This leads naturally to large but finite ODE systems, which are readily implemented in Python, C++, Java, MATLAB/Simulink, and Wolfram Mathematica using standard numerical ODE solvers or simple time-stepping schemes. Finally, we discussed physical criteria, such as the Biot number and internal vs. external time scales, that help decide when lumped modeling is appropriate.

Subsequent chapters will mostly employ lumped models for mechanical, electrical, fluid, and thermal systems, while later in the course we return to distributed-parameter systems (Chapter 19) and explore more advanced spatial modeling and approximation techniques.

10. References

  1. Balakrishnan, A. V. (1976). Approximation and optimization of distributed parameter control systems. Journal of Optimization Theory and Applications, 18(3), 265–287.
  2. Curtain, R. F., & Pritchard, A. J. (1978). Infinite-dimensional linear systems theory. Lecture Notes in Control and Information Sciences, 8, 1–120.
  3. Luenberger, D. G. (1964). Observing the state of a linear system. IEEE Transactions on Military Electronics, 8(2), 74–80.
  4. Lions, J. L. (1968). Contrôle optimal de systèmes gouvernés par des équations aux dérivées partielles. Dunod (see also numerous journal articles by Lions on distributed parameter control).
  5. Pazy, A. (1974). Semigroups of linear operators and applications to partial differential equations. Bulletin of the American Mathematical Society, 80(3), 387–458.
  6. Triggiani, R. (1975). On the stabilizability problem in Banach space. Journal of Mathematical Analysis and Applications, 52(2), 383–403.
  7. Fattorini, H. O. (1968). Boundary control systems. SIAM Journal on Control, 6(3), 349–385.
  8. Banks, H. T., & Burns, J. A. (1978). Hereditary control problems: Numerical methods based on averaging approximations. SIAM Journal on Control and Optimization, 16(2), 169–208.
  9. Langholz, G., & Lewis, F. L. (1983). Optimal control of distributed parameter systems: A survey. Automatica, 19(3), 237–252.
  10. Russell, D. L. (1978). Controllability and stabilizability theory for linear partial differential equations: Recent progress and open questions. SIAM Review, 20(4), 639–739.