CauerNetwork
Represents a Cauer (ladder) RC network, corresponding to a physical ladder structure.
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.
CauerNetwork(r_values, c_values)
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.
FosterNetwork(r_values, c_values)
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 networkfoster_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 networkcauer_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])