He examinado el código de la Falstad simulador en algunos detalles. Para los circuitos que sólo consisten lineal de componentes como resistencias, interruptores y fuentes de voltaje (cosas como la lógica-puerta de salidas se consideran de tierra conectado a fuentes de voltaje para efectos de la simulación) el simulador que se refiere a cada circuito de nodo, de la fuente de tensión (conexión de dos nodos), o alambre (igualmente) como la definición de una ecuación lineal y una variable, de tal manera que el número de ecuaciones y el número de variables que son siempre iguales. Para un circuito de nodo, la variable es el voltaje en el nodo, y la ecuación se calcula el total de corriente igual a la corriente total inyectada por cualquier fuente de corriente. Para una fuente de voltaje o de alambre (alambre siendo tratadas como una fuente de voltaje, donde la diferencia de potencial es cero), la ecuación se establece la diferencia de voltaje entre el circuito de dos voltajes de nodo igual a la diferencia de voltaje, y la variable es la cantidad de corriente que fluye a través de la fuente de voltaje de un nodo a otro.
Cosas como fuentes de corriente y resistencias no están asociados con las resistencias o variables. En cambio, fuentes de corriente de aumentar la corriente total requerida para un circuito de nodo (recuerde que cada circuito nodo tiene una ecuación que evalúa la corriente total que fluye dentro y fuera) y disminuir para el otro. Las resistencias son un poco más complicado: para cada extremo de la ecuación, la resistencia añade términos para el nodo de tensión de cada extremo.
Un resistor de 100 ohmios conexión de los nodos 1 y 2, por ejemplo, diría que cada voltios aumento en el nodo 1, se disminuirá el flujo de corriente en el nodo 1 0.01 amperios y aumentar el flujo de corriente en el nodo 2 por una cantidad igual. Asimismo, cada voltios aumento en el nodo 2, aumentaría el flujo de corriente en el nodo 1 0.01 amperios y la disminución de la corriente que fluye en el nodo 2 por una cantidad igual.
Considere un circuito con un 10 voltios, la conexión de los nodos 1 y 5, y de 100 ohm resistencias de conectar el nodo 1 y 2, 2 y 3, 2 y 4, y 3 y 4. Además, supongamos que hay un terreno con un icono en el nodo 1. Por lo tanto:
neg ---+-1---R100---2---R100---3---100---4---pos
gnd | |
+---------100--------+
Habría dos "fuentes de voltaje": el cable de tierra y el 10 voltios (que son considerados como ecuación de variables/5 y 6, respectivamente). Las ecuaciones serían:
-X1*0.01 +X5 -X6 = 0 Node 1
+X1*0.01 -X2*0.01 +X4*0.01 = 0 Node 2
+X2*0.01 -X3*0.01 +X4*0.01 = 0 Node 3
+X2*0.01 -X4*0.01 +X6 = 0 Node 4
-X1*1 = 0 Volts 5 (voltage between 1 and gnd)
-X1*1 +X4*1 = 10 Volts 6 (voltage between 1 and 4)
Este sistema de ecuaciones puede ser representada como una matriz de NxN además de un N elemento de la matriz. Cada ecuación está representada por una fila de la matriz, con valores en cada fila representa los coeficientes de cada variable. El lado derecho de cada ecuación se almacena en la matriz independiente. Antes de resolver las ecuaciones, sabrá de la red de corriente que fluye en cada nodo (cero en este caso), y la diferencia de tensión entre pares de nodos conectados por fuentes de voltaje. La resolución de las ecuaciones que se va a producir el voltaje en cada nodo y la corriente que fluye a través de cada fuente de voltaje.
Si el circuito contiene condensadores, cada uno de esos va a ser considerada como una fuente de voltaje en serie con un bajo valor de la resistencia; después de cada etapa de la simulación, la fuente de voltaje será ajustado de acuerdo a la cantidad de corriente que fluye a través de él. Inductores serán considerados como de alto valor de las resistencias que se alimentan de corriente en uno y sacar la otra (la cantidad de corriente que se ajusta de acuerdo a la tensión a través de la resistencia). Para ambos condensadores e inductores, el valor de la resistencia será controlado por la cantidad de tiempo representado por una etapa de la simulación.
Circuito más complejo que otros elementos, como los transistores son considerados como combinaciones de fuentes de voltaje, fuentes de corriente, y resistencias. A diferencia de los simples elementos de circuito que dejar que todo se procesa una vez para cada paso de tiempo de simulación, elementos como los transistores de calcular su efectiva resistencias etc. basado en las tensiones y corrientes que están viendo, evaluar todas las ecuaciones resultantes, y re-evaluar su resistencia con base en los nuevos voltajes y corrientes, re-evaluar las ecuaciones, etc. en un esfuerzo para alcanzar un punto de equilibrio donde su resistencia efectiva es como debe de ser para el voltaje y la corriente en el transistor está viendo.
El Falstad simulador puede ser decentemente rápido de tamaño moderado circuitos que se componen enteramente de "lineal" de los elementos. El tiempo a veces resolver un sistema de ecuaciones es bastante razonable si lo único que cambia son los del lado derecho de los coeficientes. El tiempo se vuelve mucho más lento si el lado izquierdo de los cambios (por ejemplo, debido a un transistor de vigencia de la resistencia va hacia arriba o hacia abajo) porque el sistema tiene que "refactorizar" las ecuaciones. Tener que hacer refactorizar las ecuaciones varias veces por simulación paso (puede ser necesario con transistores) que hace las cosas con más lentitud todavía.
El uso de una matriz grande para todo lo que no es un buen enfoque para los grandes simulaciones; aunque la matriz será bastante escasa, ocupa un espacio proporcional al cuadrado del número de nodos más fuentes de voltaje. El tiempo necesario para resolver la matriz en cada etapa de la simulación será proporcional al cuadrado del tamaño de la matriz si la refactorización no es necesario, o al cubo de tamaño de la matriz si la refactorización es necesario. Sin embargo, el enfoque tiene una cierta elegancia cuando se trata de mostrar la relación entre un circuito y un sistema de ecuaciones lineales.