1 #==============================================================================
2 # GSS example: NPN Transistor Simulation
3 # On this step, we will compute IV curve.
4 #==============================================================================
6 set Carrier = pn # specify carrier type
7 set Z.Width = 1 # device width in Z dimension.
8 set LatticeTemp = 3e2 # specify initial temperature of device.
11 #------------------------------------------------------------------------------
12 # voltage/current source is needed here.
13 vsource Type = VDC ID = GND Tdelay=0 Vconst=0
14 vsource Type = VDC ID = VCC Tdelay=0 Vconst=3.0
15 vsource Type = VDC ID = Vb Tdelay=0 Vconst=0.70
16 isource Type = IDC ID = Ib Tdelay=0 Iconst=0.002
17 #------------------------------------------------------------------------------
18 # specify boundary condition.
19 boundary Type = OhmicContact ID=Base Res=1000 Cap=0 Ind=0
20 boundary Type = OhmicContact ID=Emitter Res=0 Cap=0 Ind=0
21 boundary Type = OhmicContact ID=Collector Res=1000 Cap=0 Ind=0
23 #------------------------------------------------------------------------------
24 # drive command, specify the solving process.
25 IMPORT CoreFile=npn_refined.cgns
26 METHOD Type = DDML1 Scheme = Newton NS=LineSearch LS=TFQMR Damping=Potential
27 ATTACH Electrode=Emitter VApp=GND
28 ATTACH Electrode=Base VApp=Vb # set voltage(Base) to Vb
29 #ATTACH Electrode=Base IApp=Ib # set current(Base) to Ib
31 # compute STEADYSTATE to get a initial value
32 SOLVE Type=STEADYSTATE
33 METHOD Type = DDML1E Scheme = Newton NS=Basic LS=GMRES
34 SOLVE Type=DCSWEEP VScan=Collector IVRecord=Collector IVRecord=Base \
35 IVFile=iv070.txt VStart=0.00 VStep=0.1 VStop=3
36 # we get an iv curvy on Vbe=0.7V.
37 # User can change the Vconst of Vb for arbitrary bias voltages.
39 # we need the result as pre-computed initial value for next step
40 EXPORT CoreFile=bias.cgns