####################################################################################################
from PySpice.Spice.Netlist import SubCircuitFactory
from PySpice.Unit import *
####################################################################################################
class HP54501A(SubCircuitFactory):
__name__ = 'HP54501A'
__nodes__ = ('line_plus', 'line_minus')
##############################################
def __init__(self, diode_model):
super().__init__()
self.C(1, 'line_plus', 'line_minus', 1@u_uF)
self.X('D1', diode_model, 'top', 'line_plus')
self.X('D2', diode_model, 'line_plus', 'scope_ground')
self.X('D3', diode_model, 'top', 'line_minus')
self.X('D4', diode_model, 'line_minus', 'scope_ground')
self.R(1, 'top', 'output', 10)
self.C(2, 'output', 'scope_ground', 50@u_uF)
self.R(2, 'output', 'scope_ground', 900@u_Ω)