RS=0.6458, CJO=7.048E-13, VJ=0.869, M=0.03, FC=0.5, TT=3.48E-9) # print str(subcircuit_1N4148) frequence = 50 perdiod = 1. / frequence step_time = perdiod / 200 end_time = perdiod * 10 line_peak_voltage = 10 circuit = Circuit('Simple Rectifier', global_nodes=(0, 'out')) circuit.subcircuit(subcircuit_1N4148) circuit.V('input', 'in', circuit.gnd, 'DC 0V', 'SIN(0V {}V {}Hz)'.format(line_peak_voltage, frequence)) circuit.X('D', '1N4148', 'in', 'out') circuit.C('load', 'out', circuit.gnd, micro(100)) circuit.R('load', 'out', circuit.gnd, kilo(1), ac='1k') circuit.Cload.plus.add_current_probe(circuit) simulation = circuit.simulation(temperature=25, nominal_temperature=25, pipe=True) simulation.options(filetype='binary') simulation.save('V(in)', 'V(out)') simulation.tran(step_time, end_time)
import PySpice.Logging.Logging as Logging logger = Logging.setup_logging() #################################################################################################### from PySpice.Netlist import Circuit from PySpice.Pipe import SpiceServer from PySpice.Units import * #################################################################################################### spice_server = SpiceServer() #################################################################################################### circuit = Circuit('Voltage Divider') circuit.V('input', 'in', circuit.gnd, '10V') circuit.R(1, 'in', 'out', kilo(9)) circuit.R(2, 'out', circuit.gnd, kilo(1)) #################################################################################################### simulation = circuit.simulation(temperature=25, nominal_temperature=25) simulation.operating_point() print str(simulation) raw_file = spice_server(simulation) for field in raw_file.variables: print field
subcircuit_1N4148 = SubCircuit('1N4148', 1, 2) subcircuit_1N4148.R('1', 1, 2, 5.827E+9) subcircuit_1N4148.D('1', 1, 2, '1N4148') subcircuit_1N4148.model('1N4148', 'D', IS=4.352E-9, N=1.906, BV=110, IBV=0.0001, RS=0.6458, CJO=7.048E-13, VJ=0.869, M=0.03, FC=0.5, TT=3.48E-9) # print str(subcircuit_1N4148) frequence = 50 perdiod = 1. / frequence step_time = perdiod/200 end_time = perdiod*10 line_peak_voltage = 10 circuit = Circuit('Simple Rectifier', global_nodes=(0, 'out')) circuit.subcircuit(subcircuit_1N4148) circuit.V('input', 'in', circuit.gnd, 'DC 0V', 'SIN(0V {}V {}Hz)'.format(line_peak_voltage, frequence)) circuit.X('D', '1N4148', 'in', 'out') circuit.C('load', 'out', circuit.gnd, micro(100)) circuit.R('load', 'out', circuit.gnd, kilo(1), ac='1k') circuit.Cload.plus.add_current_probe(circuit) simulation = circuit.simulation(temperature=25, nominal_temperature=25, pipe=True) simulation.options(filetype='binary') simulation.save('V(in)', 'V(out)') simulation.tran(step_time, end_time) print circuit.nodes for node in circuit.nodes:
#################################################################################################### from PySpice.Netlist import Circuit from PySpice.SpiceLibrary import SpiceLibrary from PySpice.Pipe import SpiceServer from PySpice.Units import * #################################################################################################### libraries_path = os.path.join(os.path.dirname(__file__), 'libraries') spice_library = SpiceLibrary(libraries_path) spice_server = SpiceServer() #################################################################################################### circuit = Circuit('Diode DC Curve') circuit.include(spice_library['1N4148']) # 1N5919B: 5.6 V, 3.0 W Zener Diode Voltage Regulator circuit.include(spice_library['d1n5919brl']) circuit.V('input', 'in', circuit.gnd, '10V') circuit.R(1, 'in', 'out', kilo(1)) # circuit.X('D1', '1N4148', 'out', circuit.gnd) circuit.X('DZ1', 'd1n5919brl', 'out', circuit.gnd) simulation = circuit.simulation(temperature=25, nominal_temperature=25) simulation.dc(Vinput=slice(-20, 20, .1)) print str(simulation) raw_file = spice_server(simulation)