Fundamental Loop and Cut-Set Analysis#
Fundamental Loop Analysis#
Fundamental Loop Analysis is a technique for systematically writing out all instances of Kirchhoff's voltage law applicable to a given circuit topology.
Algorithm: Fundamental Loop Analysis
We are given a network graph \(\mathcal{G} = (N, B, s, t)\) and want to write out all instances of Kirchhoff's voltage law.
- Find a subgraph \(\mathcal{T} = (N, B_{\mathcal{T}}, s_{\mathcal{T}}, t_{\mathcal{T}})\) of \(\mathcal{G}\) whose underlying multigraph is a spanning tree.
- Label the tree branches in increasing order: \(b_1,\dotsc,b_{|B_{\mathcal{T}}|} \in B_{\mathcal{T}}\).
- Label the link branches in increasing order, but starting from \(|B_{\mathcal{T}}|+1\): \(b_{|B_{\mathcal{T}}|+1}, \dotsc, b_{|B|} \in B \setminus B_{\mathcal{T}}\).
- For each link branch \(b_j\) there exists a path in \(\mathcal{T}\) from \(s(b_j)\) to \(t(b_j)\). Therefore, \(b_j\) and the branches in this path form a cycle.
- Write Kirchhoff's voltage law for the cycle generated by each link branch \(b_j \in B \setminus B_{\mathcal{T}}\).
- The direction of the cycle is the direction of \(b_j\).
- This yields all \(s = b - (n - 1)\) linearly independent instances of Kirchhoff's voltage law for the network graph.
- Write the equations from step 2 as a system of linear equations using the branch voltage vector:
Definition: Fundamental Loop Matrix
We call \(\boldsymbol{B} \in \{-1,0,1\}^{s \times |B|}\) the fundamental loop matrix or fundamental tie-set matrix.
Example
We begin with the following network graph:
We find the following subgraph \(\mathcal{T} = (N, B_{\mathcal{T}}, s_{\mathcal{T}}, t_{\mathcal{T}})\) of \(\mathcal{G}\) whose underlying multigraph is a spanning tree:
We label everything appropriately:
.
We now go through each link branch in \(B \setminus B_{\mathcal{T}}\) and apply Kirchhoff's voltage law:
- From branch \(4\): \(v_4 - v_2 - v_1 = 0\);
- From branch \(5\): \(v_5 + v_2 - v_3 = 0\);
- From branch \(6\): \(v_6 + v_1 + v_2 - v_3 = 0\);
- From branch \(7\): \(v_7 - v_3 = 0\).
Overall, we get the following:
We write this as a system of linear equations
Due to the nature of the algorithm, the fundamental loop matrix \(\boldsymbol{B}\) can always be separated into the concatenation
where \(\boldsymbol{B}_{\mathrm{t}} \in \{-1, 0, 1\}^{s \times (|B|-s)}\) depends solely on the choice of \(\mathcal{T}\) and \(\mathbb{1}_{s}\) is the \(s\times s\) identity matrix.
We can thus split \(\boldsymbol{B}\boldsymbol{v} = \boldsymbol{0}\) into
where \(\boldsymbol{v}_{\mathrm{t}}\) contains only the voltages belonging to the tree branches and \(\boldsymbol{v}_{\mathrm{l}}\) contains only the voltages belonging to the link branches.
Fundamental Cut-Set Analysis#
Fundamental cut-set analysis is a technique for systematically writing out all instances of Kirchhoff's current law applicable to a given circuit topology.
Algorithm: Fundamental Cut-Set Analysis
We are given a network graph \(\mathcal{G} = (N, B, s, t)\) and want to write out all instances of Kirchhoff's current law.
- Find a subgraph \(\mathcal{T} = (N, B_{\mathcal{T}}, s_{\mathcal{T}}, t_{\mathcal{T}})\) of \(\mathcal{G}\) whose underlying multigraph is a spanning tree.
- Label the tree branches in increasing order: \(b_1,\dotsc,b_{|B_{\mathcal{T}}|} \in B_{\mathcal{T}}\).
- Label the link branches in increasing order, but starting from \(|B_{\mathcal{T}}|+1\): \(b_{|B_{\mathcal{T}}|+1}, \dotsc, b_{|B|} \in B \setminus B_{\mathcal{T}}\).
- Removing any tree branch results in a cut of the underlying multigraph of \(\mathcal{T}\). Since \(\mathcal{T}\) is a spanning tree, this is also a cut of the underlying multigraph of \(\mathcal{G}\).
- Write Kirchhoff's current law for the cut-set generated by each tree branch \(b_j \in B_{\mathcal{T}}\).
- The current along a branch from the cut-set is positive if it is the same as the direction of \(b_j\) and is negative otherwise.
- This yields all \(p = n - 1\) linearly independent instances of Kirchhoff's current law for the network graph.
- Write the equations from step 2 as a system of linear equations using the branch current vector:
Definition: Fundamental Cut-Set Matrix
We call \(\boldsymbol{Q}\) the fundamental cut-set matrix.
Example
We begin with the following network graph:
We find the following subgraph \(\mathcal{T} = (N, B_{\mathcal{T}}, s_{\mathcal{T}}, t_{\mathcal{T}})\) of \(\mathcal{G}\) whose underlying multigraph is a spanning tree:
We label everything appropriately:
.
We now go through each tree branch.
Removing branch \(1\) would result in the following cut:
Therefore, we get:
Removing branch \(2\) would result in the following cut:
Therefore, we get:
Removing branch \(3\) would result in the following cut:
Therefore, we get:
Overall, we get the following:
We write this as a system of linear equations
Due to the nature of the algorithm, the fundamental cut-set matrix \(\boldsymbol{Q}\) can always be separated into the concatenation
where \(\mathbb{1}_{p}\) is the \(p \times p\) identity matrix and \(\boldsymbol{Q}_{\mathrm{l}} \in \{-1, 0, 1\}^{p \times (|B|-p)}\) depends solely on the choice of \(\mathcal{T}\).
We can thus split \(\boldsymbol{Q}\boldsymbol{i} = \boldsymbol{0}\) into
where \(\boldsymbol{i}_{\mathrm{t}}\) contains only the currents belonging to the tree branches and \(\boldsymbol{i}_{\mathrm{l}}\) contains only the currents belonging to the link branches.
Fundamental Analysis#
Theorem: Fundamental Loop Analysis and Fundamental Cut-Set Analysis
If we simultaneously perform fundamental loop analysis and fundamental cut-set analysis on a network graph, then we have the following:
Furthermore:
Proof
TODO