diff options
Diffstat (limited to 'plugins/ZamTube/wdfcircuits.h')
-rw-r--r-- | plugins/ZamTube/wdfcircuits.h | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/plugins/ZamTube/wdfcircuits.h b/plugins/ZamTube/wdfcircuits.h index 2eda2c0..8410fcb 100644 --- a/plugins/ZamTube/wdfcircuits.h +++ b/plugins/ZamTube/wdfcircuits.h @@ -80,40 +80,41 @@ public: //Set Bs ViE = VE; Real Ckb = -Cka; - Real I3_3b3 = -0.5*I3_3Gamma1*Ckb/CkR; + Real I3_3b3 = 0.5*(Ckb/CkR-I3_3Gamma1*(Ckb)/CkR); Real Cib = -Cia; - Real S0_3b3 = -0.5*(ViE - Cib*S0_3Gamma1/CiR); - Real P0_3b3 = 0.5 * S0_3b3; - Real S1_3b3 = 0.5 * P0_3b3; + Real S0_3b3 = 0.5*(ViE - S0_3Gamma1*(-Cib)/CiR); + Real P0_3b3 = 0.5*(S0_3b3 - P0_3Gamma1*(-S0_3b3)); + Real S1_3b3 = 0.5*(P0_3b3 - S1_3Gamma1*(-P0_3b3)); Real Cob = -Coa; - Real S2_3b3 = 0.5*S2_3Gamma1*Cob/CoR; - Real P2_3b3 = 0.5*(E250E + S2_3b3); + Real S2_3b3 = 0.5*(Cob/CoR - S2_3Gamma1*(-Cob)/CoR); + Real P2_3b3 = 0.5*(E250E - P2_3Gamma1*(-S2_3b3)); + Real P2_3b1 = 0.5*(S2_3b3 - P2_3Gamma1*(-S2_3b3)); + //Tube: K G P t.compute(I3_3b3,-S1_3b3,P2_3b3); Real b1 = t.getC(); - Real b2 = t.getG(); + Real b2 = -t.getG(); Real b3 = t.getP(); - //Set As //a = (v + R*i)/2 - Real I3_3a1 = 0.5*(b1 - I3_3Gamma1*Ckb/CkR); + Real I3_3a1 = 0.5*(b1 + I3_3Gamma1*(-b1)); Cka = I3_3a1; - Real S1_3a2 = -b2; - Real S0_3a1 = -0.5*ViE - S0_3b3; + Real S1_3a2 = 0.5*(b2 + S1_3Gamma1*(-b2)); + Real S0_3a1 = 0.5*(S1_3a2 + S0_3Gamma1*(-S1_3a2)); Cia = S0_3a1; - Real P2_3a1 = 0.5*(E250E + b3); - Real S2_3a2 = -0.5*(E250E + S2_3b3); + Real P2_3a1 = 0.5*(b3 + P2_3Gamma1*(-b3)); + Real S2_3a2 = 0.5*(P2_3a1+P2_3b1 + S2_3Gamma1*(P2_3a1-P2_3b1)/P2_3Gamma1); Coa = S2_3a2; - Real S2_3a1 = 0.5*(-E250E - S2_3Gamma1*Cob/CoR); - Real Roa = S2_3a1/E250E; - printf("K=%f G=%f P=%f out=%f\n", I3_3b3,-S1_3b3,P2_3b3, Roa); + Real S2_3a1 = 0.5*(-(Coa+Cob) - S2_3b3 + S2_3Gamma1*(Coa-Cob)/CoR); + Real Roa = S2_3a1; + printf("Ki=%f Ko=%f Gi=%f Go=%f Pi=%f Po=%f Ro=%f\n", I3_3b3, b1, -S1_3b3, b2, P2_3b3, b3, Roa); return -Roa; } |