diff --git a/README.optran b/README.optran index 9b5ae9d42..8d0a0a8b9 100644 --- a/README.optran +++ b/README.optran @@ -12,10 +12,10 @@ If this fails: If this again fails, bail out. -In tghis branch a fourth method is added: +In this branch a fourth method is added: 4) Start a transient simulation for a specific amount of time. Keep all data local. Keep the matrix values as an - operating point for the simualtion following. + operating point for the simulation following. If this fails, finally stop. The time for transient is determined a priori. If a transient @@ -34,3 +34,13 @@ option gminsteps=0 Step 3 may be skipped by option srcsteps=0 + +The transient op calculation uses the 'UIC' flag for its startup. +Basically two applications come to mind: You may use this with +constant voltage and current sources and simulate until the +output is stable. A method to automatically stop the op transient +simulation when all nodes have become stable, might be desirable, +but has not yet been implemented. +One also may use the optran for a first transient simulation, maybe +with different step sizes, before the next (tran, ac, pz, noise) +simulation is commencing. diff --git a/examples/optran/F5TurboV2thermal-optran.cir b/examples/optran/F5TurboV2thermal-optran.cir index 992f9b3e3..56fd412b0 100644 --- a/examples/optran/F5TurboV2thermal-optran.cir +++ b/examples/optran/F5TurboV2thermal-optran.cir @@ -37,7 +37,7 @@ D2b1 Net-_D2a1-Pad2_ -32 DMOD XP3 Net-_P3-Pad1_ 0 Net-_P3-Pad1_ RPOT value=200 ratio=0.85 XP1 Net-_P1-Pad1_ +32 +32 RPOT value=5k ratio=0.18 XP2 Net-_P2-Pad1_ -32 -32 RPOT value=5k ratio=0.18 -V3 in 0 sin(0 2 1k) +V3 in 0 dc 0 ac 1 sin(0 2 1k) JQ1 Net-_P1-Pad1_ Net-_Q1-Pad2_ Net-_P3-Pad1_ 2SK170 JQ2 Net-_P2-Pad1_ Net-_Q1-Pad2_ Net-_P3-Pad1_ 2SJ74 MQ5 out Net-_Q5-Pad2_ Net-_D1a1-Pad2_ Q5tj Q5tc IRFP240 thermal diff --git a/examples/optran/script-optran.txt b/examples/optran/script-optran.txt index 9796c2268..d7876d107 100644 --- a/examples/optran/script-optran.txt +++ b/examples/optran/script-optran.txt @@ -8,8 +8,10 @@ if $?sharedmode version rusage else -* script for standard ngspice -*option noinit +*** script for standard ngspice +* Start optran without first iteration, +* without gmin stepping and without src stepping +* optran duration 4s, step size 10 ms optran 1 0 0 4 1e-2 0 tran 1u 10m echo @@ -26,15 +28,18 @@ set xbrushwidth=1 * input and output voltages plot in out * power supply currents -plot V1#branch V2#branch ylimit -50 50 -plot V1#branch V2#branch ylimit -10 10 +*plot V1#branch V2#branch ylimit -50 50 +plot V1#branch V2#branch ylimit -15 15 * output current plot @rl1[i] -plot @rl1[i] xlimit 0 5m ylimit -0.3 0.3 +*plot @rl1[i] xlimit 0 5m ylimit -0.3 0.3 * resistance of thermistor2 TH1, TH2 let rth1 = (v("net-_d3a1-pad1_") - v("net-_r11-pad1_")) / (@b.xth1.brtherm[i] + 1n) let rth2 = (v("net-_d1a1-pad2_") - v("net-_r12-pad1_")) / (@b.xth2.brtherm[i] + 1n) settype impedance rth1 rth2 plot rth1 rth2 ylimit 0 5k +ac dec 10 1 1Meg +plot db(out) +plot cph(out) end .endc \ No newline at end of file