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