Commit Graph

2098 Commits

Author SHA1 Message Date
Holger Vogt f9b743aa2a remove compiler warnings 2021-10-29 16:39:28 +02:00
Holger Vogt 36dd77f63e if step size in optran command is set to 0,
optran is deselected.
2021-10-29 16:38:08 +02:00
Holger Vogt 6b5bc9bcd8 There is no f (femto or Farad) in a resistor line 2021-10-05 18:07:32 +02:00
Holger Vogt 34c227815d RKM for C: Revert reading f, it is again femto
Examples files include expected results
2021-09-29 20:31:53 +02:00
Holger Vogt 7f981569d9 Update to RKM if ngbehavior=lt is set:
Reading C and R values follow the RKM convention with 2 exceptions:

    Upper case and lower case letters are not distinguished.

    Letters m, M denote milli (1e-3), letters Meg or meg denote 1e6.
2021-09-29 20:31:44 +02:00
Holger Vogt daa3609e58 Enable RKM notation for R and C, when ngbehavior LT is selected.
Add 2 evaluation functions specific for R and C respectively.
R has code letters L, R, K, M, G, T enabled. M here is Meg!
C has code letters p, n, u or µ, m, F. F here is unity, femto is
not available, m is still milli!
Two examples files show all cases.
2021-09-29 20:31:14 +02:00
Brian Taylor 36313d59f3 Use the current point number as the single digit index for Cider 2D ascii save files. This conforms to the normal usage with other types of ascii rawfile. The numd parser table entry for ic.file now has the correct IF_STRING type. 2021-09-29 20:28:59 +02:00
Holger Vogt 0266bd5894 make PTparse error message more verbose:
include point in a line where parsing failed.
2021-09-29 20:26:42 +02:00
Brian Taylor 663a79dea8 Fix NAN error in numd2 area report and crashes when a doping file is missing. Update examples/cider so that the test circuits all run; add case sensitivity tests for rootfile and ic.file parameter strings enclosed in a single pair of double quotes. 2021-09-29 20:22:56 +02:00
Holger Vogt 68c5eb2d6b Add resistance sweep error message for failing optran 2021-09-29 20:22:34 +02:00
Holger Vogt 8708b6651b Optran may throw an error message while in temp sweep
and optran fails: message added (in addition prevent a crash)
2021-09-29 20:22:15 +02:00
Holger Vogt 1b3e192bfd errno needs to be nulled in Linux.
Its previous value will be returned after checking.
2021-09-29 20:21:39 +02:00
Holger Vogt 7f4fc2948b Add a line feed to make message more readable. 2021-09-29 20:20:00 +02:00
Holger Vogt fac1d3a79c ASRC (B-Source) error message is cryptic, as it does not tell
which B-Source failed.
Add a hint to the ASRC error message on the name of the
B-Source instance.
2021-09-29 20:19:38 +02:00
Holger Vogt 18478380ad Revise the SOA and add new parameters:
pd_max id_max idr_max te_max rth_ext derating
rth_ext is currently not used
2021-09-29 20:17:55 +02:00
Holger Vogt 3b245ddd82 VDMOS, prepare SOA with new parameters
Model parameters pd_max, id_max, idr_max, and te_max
(power dissipated, drain current, drain reverse current, temperature)
2021-09-29 20:17:03 +02:00
Holger Vogt 7c84e3f993 SOA for bipolar
Replace pow_max by pd_max
2021-09-29 20:15:41 +02:00
Holger Vogt f06496c912 Enable command 'optran' in spinit or .spiceinit,
when the circuit is not yet loaded.
Then the optran data are stored in static variables,
until optran is called again with arg NULL from inp.c,
to set the data in ft_curckt->ci_defTask.
2021-09-29 20:15:13 +02:00
Holger Vogt 493cf73f7f optran is only selected when the 'optran' command has been processed.
If not, the call to the OPtran() function returns the previous
'converged' value.
2021-09-29 20:12:52 +02:00
Holger Vogt 7f1fdd3934 Don't do optran, if command optran is not given. 2021-09-29 20:12:31 +02:00
Holger Vogt 711157e85d Update comment: 0 is no initial iteration 2021-09-29 20:12:03 +02:00
Holger Vogt 2ef3f66f96 if 'set ngdebug' print out transient initial conditions also with UIC set. 2021-09-29 20:10:25 +02:00
Holger Vogt 41ead284f3 make the error detection work properly 2021-09-29 20:10:02 +02:00
Holger Vogt 4e03efacb7 Use InpEvaluate() instead of strtod to enable ngspice numbers
with scale factors Meg k m u n p f etc.
2021-09-29 20:09:22 +02:00
Holger Vogt 3be5926f2c Reverse stepsize and finaltime in optran command,
stepsize first as in tran command.
2021-09-29 20:08:51 +02:00
Holger Vogt bca099ca29 prevent crash if first breakpoint is beyond optran max time 2021-09-29 20:08:28 +02:00
Holger Vogt b07a54b8e1 test of supply ramping 2021-09-29 20:07:42 +02:00
Holger Vogt 7de526237e upon finishing 'optran', restore old CKTstep
remove unused
2021-09-29 20:06:35 +02:00
Holger Vogt 0eafec254e safeguard command 'optran' against circuit no being loaded 2021-09-29 20:05:56 +02:00
Holger Vogt cf61e1e564 add missing header 2021-09-29 20:05:28 +02:00
Holger Vogt 83e223fafc header for optran 2021-09-29 20:05:08 +02:00
Holger Vogt a20afc54a5 When we sre ready, reset CKTmaxstep to its previous value 2021-09-29 20:04:26 +02:00
Holger Vogt 3956095484 set maxstepsize to stepsize 2021-09-29 20:04:08 +02:00
Holger Vogt ecdb3b9eb4 set the task values, not the ckt values,
because task is called only afterwards when
the simulation command is given.
2021-09-29 20:03:31 +02:00
Holger Vogt fd36eb552f set stepsize 2021-09-29 20:02:11 +02:00
Holger Vogt ab6224767b Add command 'optran' to set 6 flags for transient op 2021-09-29 20:01:44 +02:00
Holger Vogt df0792818f Transient op calculation added to the standard operating point code.
When standard iteration, gmin stepping and source stepping fail,
try a transient simulation (like tran with uic option) to
determine the op. Implemented for AC and Tran simulation.
2021-09-29 20:00:29 +02:00
Holger Vogt a08e6a0676 Add new SOA parameters (safe operating area) for BJT.
We now scan for max of Ic, Ib, power, taking into
account the max allowed temperature, using the thermal
resistance rth0 model parameter between juntion and ambient.

Two user options are there: If rth0 is given, we calculate
a derating of the max power allowed.
Without a constant max power according to model param pow_max
is assumed.

The new model parameters for the bipolar model are:
pow_max, ic_max, ib_max, te_max, and rth0, in addition
to the already existing vbe_max, vbc_max, adn vce_max.
2021-09-29 19:59:58 +02:00
Holger Vogt 1084b4205c Allow global .temp in addition to instance parameter 'temp'.
Update to comments.
2021-09-29 19:59:28 +02:00
Holger Vogt 33571877dc Some update to SOA for a diode:
Limit output to four digits
Add power and temperature limits.
Derating with self-heating, or with fixed temperature,
or no derating at all, selectable by setting model parameters.
Example file: SOA plotted as frame, with diode current.
2021-09-29 19:58:11 +02:00
Holger Vogt 759f4f5f84 Make the output a little more verbose:
add terminal voltage to Id, Te, and Pd outputs.
Compare SOA data to terminal voltage, not (unknown) junction voltage.
2021-09-29 19:57:54 +02:00
Holger Vogt 9c8380a031 Enhance the SOA (safe operating area) operations
Parameters id_max, pd_max and te_max have been added
for current, power, and temperature to the already existing
fv_max and bv_max (max forward and backward volteges).
2021-09-29 19:57:34 +02:00
Holger Vogt e5fdb4c742 Patch sorts 1 byte vars in sequence,
to save some memory.
Patch #107 provided by Florian Ballenegger
2021-09-29 19:57:08 +02:00
Holger Vogt 1977128380 Prevent crash when CIDER diode models are used.
There is no third node in NUMD or NUMD2, so don't set
GENnode(fast)[i]. This patch fixes a bug introduced in
4895a4b5a ("Diode model with selfheating option", 2021-04-11)
2021-07-20 14:24:43 +02:00
Holger Vogt c74321e0f5 JFET2: Add a link to literature 2021-07-05 14:32:47 +02:00
dwarning 0ece04cdc8 Add channel type determination belong nmos/pmos model parameter 2021-07-05 14:32:14 +02:00
Holger Vogt fe158341ba Don't show message for every iteration 2021-07-05 14:31:47 +02:00
Holger Vogt c38b8e3615 Fix a bug in the 'dc' progress report 2021-07-05 14:31:32 +02:00
Holger Vogt 8eeb924460 CIDER: Enable printing either binary or ascii data output to file.
Patch provided by Brian Taylor, see
(https://sourceforge.net/p/ngspice/mailman/message/37309841/)
2021-07-05 14:31:21 +02:00
Holger Vogt c061747f19 Add evaluating and using temp and dtemp
as ASRC instance parameters.
2021-07-05 14:29:10 +02:00