From: yu.dongliang <18588496441@163.com> Date: Thu, 16 Nov 2023 06:46:30 +0000 (+0800) Subject: tmp X-Git-Url: http://baseworks.info/?a=commitdiff_plain;h=14d8bb0ceb89e104959505f9d10a685c9699c052;p=ses.git tmp --- diff --git a/ses_step_va_bridge.c b/ses_step_va_bridge.c index 63d3bb6..c34cb26 100644 --- a/ses_step_va_bridge.c +++ b/ses_step_va_bridge.c @@ -128,7 +128,7 @@ int __ses_flow_v_neg(ScfEfunction* f, ses_flow_t* flow, double dv_vip, double dj p = path->pins->data[j]; if (j0 < 0) { - if (p->lid == vip->lid) + if (!(j & 0x1) && p->lid == vip->lid) j0 = j; else continue; @@ -320,12 +320,14 @@ static int __ses_path_va_bridge(ScfEfunction* f, ses_path_t* bridge, int* change scf_logw("flow vip: c%ldp%ld->a: %lg, fp0: c%ldp%ld->a: %lg, fp1: c%ldp%ld->a: %lg\n\n", flow->vip->cid, flow->vip->id, flow->vip->a, fp0->cid, fp0->id, fp0->a, fp1->cid, fp1->id, fp1->a); - double da = 0; - double dja = 0; + double da; + double dja; + + double v; + double jv; double a = 0; double ja = 0; - double Eta = 0.001; int k = 0; @@ -344,17 +346,17 @@ static int __ses_path_va_bridge(ScfEfunction* f, ses_path_t* bridge, int* change scf_loge("da: %lg, a: %lg\n", da, a); - double dv = flow->vip->v; - double djv = flow->vip->jv; + v = flow->vip->v; + jv = flow->vip->jv; ret = __ses_flow_a_pos(f, flow, a, ja); if (ret < 0) return ret; - dv = flow->vip->v - dv; - djv = flow->vip->jv - djv; + double dv = flow->vip->v - v; + double djv = flow->vip->jv - jv; - scf_logi("dv: %lg, ----------------\n", dv); + scf_logi("dv: %lg, v: %lg - %lg ----------------\n", dv, flow->vip->v, v); ret = __ses_flow_v_neg(f, flow, dv, djv); if (ret < 0) @@ -362,10 +364,10 @@ static int __ses_path_va_bridge(ScfEfunction* f, ses_path_t* bridge, int* change printf("\n"); k++; - } while (k < 20); + } while (k < 46); - double v = p0->v - p1->v; - double jv = p0->jv - p1->jv; + v = p0->v - p1->v; + jv = p0->jv - p1->jv; scf_loge("bridge: %d, c%ldp%ld--c%ldp%ld, v: %lg, p0->v: %lg, p1->v: %lg, n_diodes: %d, p0->a: %lg, p1->a: %lg\n", bridge->index, p0->cid, p0->id, p1->cid, p1->id, v, p0->v, p1->v, bridge->n_diodes, p0->a, p1->a);