From b89f38b9723dd072922c53099c7f28ed8b6a6fd2 Mon Sep 17 00:00:00 2001 From: dwarning Date: Sun, 21 Sep 2025 08:19:36 +0200 Subject: [PATCH] formatting --- src/spicelib/devices/dio/dioload.c | 56 +++++++++++++----------------- 1 file changed, 24 insertions(+), 32 deletions(-) diff --git a/src/spicelib/devices/dio/dioload.c b/src/spicelib/devices/dio/dioload.c index 60f74484e..81274b0f4 100644 --- a/src/spicelib/devices/dio/dioload.c +++ b/src/spicelib/devices/dio/dioload.c @@ -2,7 +2,7 @@ Copyright 1990 Regents of the University of California. All rights reserved. Author: 1985 Thomas L. Quarles Modified: 2000 AlansFixes -Modified by Paolo Nenzi 2003, Dietmar Warning 2012 and Arpad Buermen 2025 +Modified by Paolo Nenzi 2003 and Dietmar Warning 2012 **********/ #include "ngspice/ngspice.h" @@ -170,11 +170,11 @@ DIOload(GENmodel *inModel, CKTcircuit *ckt) *(ckt->CKTstate1 + here->DIOconduct); *(ckt->CKTstate0 + here->DIOresCurrent) = *(ckt->CKTstate1 + here->DIOresCurrent); - *(ckt->CKTstate0 + here->DIOresConduct) = + *(ckt->CKTstate0 + here->DIOresConduct) = *(ckt->CKTstate1 + here->DIOresConduct); *(ckt->CKTstate0 + here->DIOcqcsr) = *(ckt->CKTstate1 + here->DIOcqcsr); - *(ckt->CKTstate0 + here->DIOgqcsr) = + *(ckt->CKTstate0 + here->DIOgqcsr) = *(ckt->CKTstate1 + here->DIOgqcsr); *(ckt->CKTstate0 + here->DIOdeltemp) = *(ckt->CKTstate1 + here->DIOdeltemp); @@ -429,8 +429,8 @@ next1: gdres = gd; cdres = cd; gqcsr = 0; - cqcsr = 0; - + cqcsr = 0; + if ((ckt->CKTmode & (MODEDCTRANCURVE | MODETRAN | MODEAC | MODEINITSMSIG)) || ((ckt->CKTmode & MODETRANOP) && (ckt->CKTmode & MODEUIC))) { /* @@ -461,28 +461,26 @@ next1: deplcapSW = czof2SW*(here->DIOtF3SW+model->DIOgradingSWCoeff*vd/here->DIOtJctSWPot); } - /* - Dietmar: should not we also add a term (DIOcmetal+DIOcpoly)*vd to DIOcapCharge? + /* + Dietmar: should not we also add a term (DIOcmetal+DIOcpoly)*vd to DIOcapCharge? */ - + if (model->DIOsoftRevRecParam!=0 && here->DIOtTransitTime!=0) { - /* - soft recovery with TT!=0 - add only depletion capacitance. - + /* + soft recovery with TT!=0 + add only depletion capacitance. */ *(ckt->CKTstate0 + here->DIOcapCharge) = deplcharge + deplchargeSW; - + capd = deplcap + deplcapSW + here->DIOcmetal + here->DIOcpoly; here->DIOcap = capd; - /* - DIOcap is now equal only to depletion capacitance + overlap capacitance. - Diffusion capacitance is modelled via Qp so there is no clear way to define it. - Situation is similar to the one when we have an NQS model for the charge. + /* + DIOcap is now equal only to depletion capacitance + overlap capacitance. + Diffusion capacitance is modelled via Qp so there is no clear way to define it. + Situation is similar to the one when we have an NQS model for the charge. */ - /* Now prepare the charge for the capacitor connected to the QP node */ *(ckt->CKTstate0 + here->DIOsrcapCharge) = here->DIOtTransitTime * vqp; capsr = here->DIOtTransitTime; @@ -491,11 +489,11 @@ next1: diffcharge = here->DIOtTransitTime*cd; *(ckt->CKTstate0 + here->DIOcapCharge) = diffcharge + deplcharge + deplchargeSW; - + diffcap = here->DIOtTransitTime*gd; capd = diffcap + deplcap + deplcapSW + here->DIOcmetal + here->DIOcpoly; here->DIOcap = capd; - + *(ckt->CKTstate0 + here->DIOsrcapCharge) = 0; capsr = 0; } @@ -566,7 +564,7 @@ next1: *(ckt->CKTstate1 + here->DIOsrcapCurrent) = *(ckt->CKTstate0 + here->DIOsrcapCurrent); } - } + } if (selfheat) { @@ -656,12 +654,6 @@ next2: *(ckt->CKTstate0 + here->DIOvoltage) = vd; (*(here->DIOposPrimeTempPtr) += dIdio_dT - dIrs_dT); (*(here->DIOnegTempPtr) += -dIdio_dT); } - - if (model->DIOsoftRevRecParam!=0 && here->DIOtTransitTime!=0) { - // Compute - } else { - - } if (model->DIOsoftRevRecParam!=0 && here->DIOtTransitTime!=0) { double fac, ceqrr, dcrrdvd, grr; @@ -672,18 +664,18 @@ next2: *(ckt->CKTstate0 + here->DIOvoltage) = vd; ceqrr = -fac*cdres + cqcsr + dcrrdvd*vd - gqcsr*vqp; grr = 1/model->DIOsoftRevRecParam; *(ckt->CKTrhs + here->DIOqpNode) -= ceqrr; - *(here->DIOqpQpPtr) += grr + gqcsr; + *(here->DIOqpQpPtr) += grr + gqcsr; *(here->DIOqpPosPrimePtr) += -dcrrdvd; - *(here->DIOqpNegPtr) += dcrrdvd; + *(here->DIOqpNegPtr) += dcrrdvd; /* Contribution to diode current */ gain = (1 - model->DIOsoftRevRecParam) / here->DIOtTransitTime; /* Linear contribution -(1-vp)/tau*ddt(Qp) */ geqrrd = gain*gqcsr; ceqrrd = gain*cqcsr - geqrrd*vqp; *(ckt->CKTrhs + here->DIOposPrimeNode) -= ceqrrd; - *(ckt->CKTrhs + here->DIOnegNode) += ceqrrd; - *(here->DIOposPrimeQpPtr) += geqrrd; - *(here->DIOnegQpPtr) += -geqrrd; + *(ckt->CKTrhs + here->DIOnegNode) += ceqrrd; + *(here->DIOposPrimeQpPtr) += geqrrd; + *(here->DIOnegQpPtr) += -geqrrd; } } }