Skip to content

Network Models

The library defines two core data structures for thermal networks, CauerNetwork and FosterNetwork, which store resistance (R) and capacitance (C) values.

CauerNetwork

Represents a Cauer (ladder) RC network, corresponding to a physical ladder structure.

FosterNetwork

Represents a Foster (parallel) RC network, consisting of a series of parallel R-C pairs.

Initializes a Cauer network model.

  • r_values: list | np.ndarray - A list or array of resistance values.
  • c_values: list | np.ndarray - A list or array of capacitance values.

Both lists must have the same length, and all values must be positive.

Initializes a Foster network model. The RC pairs are automatically sorted by their time constant ($\tau = R \cdot C$) to ensure a canonical representation.

  • r_values: list | np.ndarray - A list or array of resistance values.
  • c_values: list | np.ndarray - A list or array of capacitance values.

Both lists must have the same length, and all values must be positive.

from thermal_network.networks import FosterNetwork, CauerNetwork
# Create a 2-layer Foster network
foster_net = FosterNetwork(r_values=[0.7, 0.3], c_values=[1.0, 10.0])
print(foster_net)
# > FosterNetwork(order=2, r=[0.7 0.3], c=[ 1. 10.])
# Create a 3-layer Cauer network
cauer_net = CauerNetwork(r_values=[0.1, 0.2, 0.3], c_values=[0.4, 0.5, 0.6])
print(cauer_net)
# > CauerNetwork(order=3, r=[0.1 0.2 0.3], c=[0.4 0.5 0.6])