Exemple #1
0
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:
    print repr(node), ':', ' '.join(element.name for element in node.elements)
print circuit.Cload.plus
# print repr(circuit.Cload)
# # print circuit.1N4148
# print subcircuit_1N4148['1N4148']
# print circuit.out
print '\n\n'

print str(simulation)
Exemple #2
0
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:
    print(repr(node), ':', ' '.join(element.name for element in node.elements))
print(circuit.Cload.plus)
# print repr(circuit.Cload)
# # print circuit.1N4148
# print subcircuit_1N4148['1N4148']
# print circuit.out
print('\n\n')
####################################################################################################

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

analysis = raw_file.analysis
for node in (analysis['in'], analysis.out): # .in is invalid !
    print 'Node {}: {} V'.format(str(node), float(node))

####################################################################################################

simulation = circuit.simulation(temperature=25, nominal_temperature=25)
simulation.dc_sensitivity('v(out)')