Resolver \ $ n \ veces n \ $ rejilla rectangular de resistencias para corrientes de malla

1

Estoy modelando un proceso mecánico utilizando un análogo eléctrico. Necesito calcular las corrientes de bucle (malla), luego puedo ver si alguna corriente de malla es mayor que un valor predeterminado \ $ \ lambda \ $. Hay barras de voltaje conectadas a la parte superior, y la parte inferior está conectada a GND. Inicialmente el voltaje, \ $ _ {VCC} \ $ es 10V. Cada borde es una resistencia ideal \ $ 1 \ Omega \ $.

La forma en que pensé hacerlo fue usar la ley de voltaje de Kirchoff para cada bucle

\ $ \ sum ^ N_ {k = 0} V_k = 0 \ $.

luego resuelve el sistema de ecuaciones usando: I = np.linalg.solve(Z,V)

donde Z es mi matriz de impedancia y V es mi matriz de voltaje.

Entonces, si ves la imagen de arriba, debería haber cuatro bucles, pero networkx, una biblioteca basada en la teoría de grafos para python3, regresa usando nx.cycle_basis(G) :

[(1, 1), (1, 2), (0, 2), (0, 1)]
[(1, 1), (2, 1), (2, 2), (1, 2)]
[(0, 0), (1, 0), (2, 0), (2, 1), (2, 2), (1, 2), (0, 2), (0, 1)]
[(1, 1), (1, 0), (2, 0), (2, 1)]

que es INCORRECTO.

[(0, 0), (1, 0), (2, 0), (2, 1), (2, 2), (1, 2), (0, 2), (0, 1)] 

debería ser:

[(1,1), (0,1), (0,0), (1,0)]

para obtener la malla en la esquina inferior izquierda.

Sé cómo calcular la resistencia entre dos puntos usando el producto Kronecker en números, pero no veo qué uso sería para mí porque necesito la corriente y para resolver la ley de Ohm, necesito el voltaje entre nodos

Entonces, sí, mi pregunta es ¿cómo puedo calcular de manera eficiente las corrientes de ramificación de una red de resistencia masiva?

    
pregunta Lewis

0 respuestas

Lea otras preguntas en las etiquetas