Passivity
When a model is to be included in a time domain simulation, it is important that the model does not result in an unstable simulation. This requires the model to satisfy two criteria:
 All poles are stable
 The model is passive
The stable pole requirement is enforced by vector fitting. The passivity requirement means that the model cannot generate energy when connected to an external network. A model is passive provided that 

(1)  
i.e. all eigenvalues of the real part of the model admittance matrix are positive for all frequencies. Most approaches for passivity enforcement rely on a postprocessing step of the model, assuming that only a small correction is needed. One method described in [1.3] achieves this by solving the constrained equation  
(2a)  
(2b)  
First order perturbation leads to the constrained linear least squares problem (3), which is solved by Quadratic Programming.  
(3a)  
(3b)  
This passivity enforcement approach is available in package QPpassive.zip, see the Downloads page. (Requires Matlab Optimization Toolbox). 