Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import ipdb # ipdb.set_trace()
- import numpy as np
- import matplotlib.pyplot as plt
- import re
- def generate_netlist(R2):
- cirfile="generated_netlist.net"
- f = open(cirfile,"w")
- f.write("* Generated Netlist \n")
- f.write("V1 N001 0 10 \n")
- f.write("R1 N001 out 10k \n")
- f.write("R2 out 0 %f \n" %R2)
- f.write(".tran 1s \n")
- f.write(".meas TRAN vsaida FIND V(out) at 1 \n")
- f.write(".end \n")
- f.close()
- def meas_result():
- logfile="generated_netlist.log"
- with open(logfile) as f:
- lines = f.readlines()
- f.close()
- for l in lines:
- #print(l)
- if 'vsaida' in l:
- match =re.search(r"=(.*) at",l)
- vout = float(match.group(1))
- return vout
- def simulate():
- os.system('ltspice -b generated_netlist.net')
- generate_netlist(1000)
- simulate()
- voltage = meas_result()
- print("Measured voltage: %f V" %voltage)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement