/// <inheritdoc/> void IBiasingBehavior.Load() { var y = Parameters.Admittance; if (_time.UseDc) { BiasingElements.Add( y, -y, -y, y, 1, 0, -1, -1, y, -y, -y, y, 1, 0, -1, 0, 1, -1, 1, 1, 1 ); } else { BiasingElements.Add( y, -y, -y, y, 1, 1, -1, -1, y, -y, -y, y, 1, 1, -1, -1 ); } var sol = BiasingState.Solution; // Calculate inputs var input1 = sol[_pos2] - sol[_neg2] + Parameters.Impedance * sol[_br2]; var input2 = sol[_pos1] - sol[_neg1] + Parameters.Impedance * sol[_br1]; Signals.SetProbedValues(input1, input2); // Update the branch equations _elements.Add(Signals.Values[0], Signals.Values[1]); }
/// <inheritdoc/> void IBiasingBehavior.Load() { var y = Parameters.Admittance; BiasingElements.Add( y, -y, -y, y, 1, 0, -1, -1, y, -y, -y, y, 1, 0, -1, 0, 1, -1, 1, 1, 1 ); }
/// <inheritdoc/> void IBiasingBehavior.Load() { var m = Parameters.ParallelMultiplier; var y = Parameters.Admittance * m; BiasingElements.Add( y, -y, -y, y, 1, 0, -1, -1, y, -y, -y, y, 1, 0, -1, 0, 1, -1, 1, 1, 1 ); }
/// <inheritdoc/> void IBiasingBehavior.Load() { var sol = _biasing.Solution; var input = sol[_contPosNode] - sol[_contNegNode]; Signal.SetProbedValues(input); if (_time.UseDc) { BiasingElements.Add(1, -1, 1, -1, -1, 1); } else { BiasingElements.Add(1, -1, 1, -1); _elements.Add(Signal.Values[0]); } }
/// <inheritdoc/> void IBiasingBehavior.Load() { var m = Parameters.ParallelMultiplier; var y = Parameters.Admittance * m; var sol = BiasingState.Solution; // Calculate inputs var z = Parameters.Impedance / m; var input1 = sol[_pos2] - sol[_neg2] + z * sol[_br2]; var input2 = sol[_pos1] - sol[_neg1] + z * sol[_br1]; Signals.SetProbedValues(input1, input2); // Apply contributions to the Y-matrix and right-hand side vector if (_time.UseDc) { BiasingElements.Add( y, -y, -y, y, 1, 0, -1, -1, y, -y, -y, y, 1, 0, -1, 0, 1, -1, 1, 1, 1 ); } else { BiasingElements.Add( y, -y, -y, y, 1, 1, -1, -1, y, -y, -y, y, 1, 1, -1, -1 ); } double c = Signals.InputDerivative; double d = -c * z; _elements.Add( -c, c, d, -c, c, d, Signals.Values[0], Signals.Values[1]); }