Usando Python para simular una netlist de LTspice

Soy nuevo en Python y quiero simular circuitos LTspice automáticamente usando Python.

Agregué la biblioteca ltspice y escribí una buena cantidad de secuencias de comandos para que Python genere automáticamente una lista de conexiones de LTspice que quiero.

El problema al que me enfrento es que no sé qué comando debo usar para simular la lista de conexiones en LTspice usando Python para poder trazar los voltajes y corrientes de salida.

Mirando hacia adelante a sus sugerencias.

¿ Estás hablando de una biblioteca de Python llamada ltspice? Sigues confundiendo las mayúsculas de "ltspice" y no sé de qué estás hablando. Si hay alguna biblioteca de Python que esté utilizando, agregue un enlace a su documentación.
Parece que el módulo ltspice python analiza los datos de un archivo .asc preexistente generado por una ejecución de LTSpice. Si LTSpice tiene un modo de línea de comando, entonces podría ejecutarlo usando el módulo de subproceso de python para pagar, no sé si lo hace. Alternativamente, el módulo PySpice está diseñado para interactuar con los simuladores Ngspice y xyce similares, lo que suena más esperanzador para hacer todo lo que desea.
@Elliot, gracias por tu comentario. Acabo de editar la publicación.
@Neil, sí, exactamente, estaba pensando en cambiarme a Ngspice ya que me ha llevado mucho tiempo, y también supongo que Ngspice lee fácilmente las netlists de LTspice. Supongo que simplemente cambiaré. Gracias :)

Respuestas (1)

Errrm.

¿Qué no está claro acerca de los ejemplos en la página de la biblioteca Python ltspice?

Ejemplo de circuito:

ingrese la descripción de la imagen aquí

Código de ejemplo:

import ltspice
import matplotlib.pyplot as plt
import numpy as np
import os

l = ltspice.Ltspice(os.path.dirname(__file__)+'\\rc.raw') 
# Make sure that the .raw file is located in the correct path
l.parse() 

time = l.getTime()
V_source = l.getData('V(source)')
V_cap = l.getData('V(cap)')

plt.plot(time, V_source)
plt.plot(time, V_cap)
plt.show()

Salida de ejemplo:

ingrese la descripción de la imagen aquí

Ha nombrado nodos (cap y source) y solicita los datos usando la siguiente línea:

l.getData('V(source)')

"getData" es la función. "V ()" le dice a LTspice que desea el voltaje, y "fuente" dice qué nodo.


Según los comentarios, parece que la biblioteca ltspice solo hace una parte de lo que necesita.

Este proyecto parece cubrir la otra mitad, es decir, hacer que LTspice ejecute una simulación desde dentro de un programa de Python.

¡Ni siquiera sabía que esto existía!
@efox29: Conceptos básicos de programación. Busque siempre la documentación de las bibliotecas que utiliza.
Quise decir que python puede integrarse un poco con ltspice
@efox29: Por la forma en que estabas escribiendo al respecto, pensé que estabas usando la biblioteca Python ltspice.
Quiero decir, Python tiene una biblioteca para todo. Incluso tiene una biblioteca para acceder a los cómics XKCD.
¡Yo tampoco sabía que esto existía!
Este ejemplo simula un circuito. Lo haré de otra manera: en lugar de usar la GUI para crear mi circuito, genero una lista de conexiones que quiero ejecutar en LTspice usando python (esto no sé cómo hacerlo). Una vez que se ejecuta la lista de conexiones, puedo usar la sintaxis en este ejemplo que me permitirá leer los archivos .raw y extraer el resultado que quiero. No estoy seguro si entendiste mi pregunta o no...
Aparentemente no.
¿Qué parte es la que no entiendes?
De hecho, usé el comando: scad3.exe -b netlist.net en el cli y funcionó perfectamente. Sin embargo, cuando uso la sintaxis equivalente en python: import subprocess subprocess.run(['scad3.exe', '-b', 'netlist.net']) tengo un archivo de registro generado que dice No se pudo abrir la cubierta de entrada para leyendo: netlist.log. ¿Alguna idea de dónde me equivoqué?