A couple of corrections to the last commit, where the equation for
computing the amount of fringe shielding was wrong. This fixes one of my example cases, but not the other one, so I still need to pin down a condition that can result in negative capacitance.
This commit is contained in:
parent
edb05fb3d1
commit
ca0cb1322a
|
|
@ -1085,9 +1085,9 @@ CmdExtract(w, cmd)
|
|||
|
||||
/* argv[2] is a halo distance */
|
||||
dist = cmdParseCoord(w, argv[2], TRUE, TRUE);
|
||||
if (dist <= 0)
|
||||
if (dist < 0)
|
||||
{
|
||||
TxError("Bad halo distance. Halo must be strictly positive.");
|
||||
TxError("Bad halo distance. Halo must be non-negative.");
|
||||
return;
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -1180,7 +1180,7 @@ extSideOverlapHalo(tp, esws)
|
|||
}
|
||||
if (rtp != rbp)
|
||||
{
|
||||
efflength = (cfrac * (double)length) * (1.0 - sov.so_coupfrac);
|
||||
efflength = (cfrac - sov.so_coupfrac) * (double)length;
|
||||
cap += e->ec_cap * efflength;
|
||||
|
||||
subfrac += sov.so_subfrac; /* Just add the shielded fraction */
|
||||
|
|
@ -1209,7 +1209,7 @@ extSideOverlapHalo(tp, esws)
|
|||
if (DBIsContact(outtype))
|
||||
outtype = DBPlaneToResidue(outtype, esws->plane_of_boundary);
|
||||
|
||||
efflength = (sfrac * (double)length) * (1.0 - subfrac);
|
||||
efflength = (sfrac - subfrac) * (double)length;
|
||||
subcap = ExtCurStyle->exts_perimCap[ta][0] * efflength;
|
||||
rbp->nreg_cap -= subcap;
|
||||
/* Ignore residual error at ~zero zeptoFarads. Probably */
|
||||
|
|
|
|||
Loading…
Reference in New Issue