Drift-Diffusion Solver
The ddsolver package includes drift-diffusion solver to simulate semiconductor devices. Also, Mixed-mode-system consisting of the semiconductor devices and the external components can be solved.
| Salient Features |
|
Salient features - Drift-diffusion solver
- The solver can perform a quasi-stationary DC ramp, small-signal analysis at a fixed DC bias, and a transient analysis.
- Coupled Poisson, electron, and hole continuity equations are solved.
- Mixed-mode-system consisting of the semiconductor devices and the external components can be solved coupled with drift-diffusion equations.
- Physics-based models for bulk and interface mobility, recombination phenomena, traps, etc. in semiconductors available.
- Model parameters are editable in the material config file, thus allowing model calibration.
- Convinient Python interface can be used to perform simulations and postprocess results.
Easy-to-use Config file
- Specify simulation setup in an intuitive config file.
- Define active models -- region-wise, material-wise.
- Set Voltage Ramps-- quasistationary, transient, small-signal.
- As an illustration, a commands in the config file look as follows:
File: {Device = "FinFET_str.cfg";
Out = "FinFET";}
Contacts: {...}
Physics*Region*RegSi: {
Mobility: {DopingDep: { Masetti: [];}
FieldDep: { Lombardi: []; }
Recombination:{SRHRecombination=["DopingDep"];}
} }
Solve: {Static*Poi:{ Coupled: ["Poisson"];}
Quasistationary*Dr: {initstep = 1E-3;
Ramp: { Voltage*drain = 1.;}
Coupled: ["Poisson","Electron"] } } - For exact commands in the config file, please refer to the user-guide and the examples therein.
Convinent Python Interface
- Import meshed device and setup simulation.
- Perform drift-diffusion simulations.
- Retrieve data for postprocessing in Python.
Results Visualization
- I-V characteristics stored in csv files.
- Spatial Data stored in hdf file.
- {it xdmf} script stored for visualization in {it paraview}.
- TimeAverage: Stores temporal average of the data.
- Doping distribution
Spatial distribution of electron currentSpatial distribution of electric field
Material Properties and Composition
- Material config file is loaded at the start of the simulation.
- List and edit parameters of all models.
- Define composition dependence (linear and quadratic) of the parameters in semiconductor alloys, e.g. SiliconGermanium.
- As an illustration, a material config file look as follows:
BandStructure: {
BandGap: {
// [XFrac0, val0, ... ]
Chi0*Xdep = [0., 4.07,
0.45, 3.575, 1., 3.5];
Eg0*Xdep = [0., 1.424,
0.45, 1.985, 1., 2.17]; }
...
DoS: { Formula = 0;
Nc300 = 2E19; Nv300 = 2E19;
me = 0.91; mh = 0.53; }
} - For exact material config file, please refer to the user-guide and the examples.
Small-signal Analysis
- ACAnalysis: DC time(s) at which analysis is done.
- Nodes: Contacts to be included in the AC analysis.
- Jacobian at the bias point is used to perform small-signal analysis. Admittances and capacitances are written in the csv file.
Effect of small-signal voltage at drain on electron densityEffect of small-signal voltage at gate on electron density
Mixed-mode System Analysis
- Mixed-mode Analysis solves the circuit-system containing electronic device which is connected to the external components.
- System section defines external circuit and links the Device named MOS1 to it.
Illustration of a mixed-mode system
Electro-thermal simulations
- Electro-thermal simulations solve Poisson and/or continuity equations with heat transport equation.
- ThermalContacts act as heat-sink at a set Temperature.
- In ThermalProperties, list active thermal models.
- In Coupled, add Temperature to include heat equation.
Temperature distr. in Copper plate at 1VTemperature induced Copper plate conductivity variation at 1V
User-manual and examples
- A detailed user-manual describes available analyses and how to perform,
- physical models and their usage
- Settings in a config file and their use
Spatial distribution of electron current
Spatial distribution of electric field
Effect of small-signal voltage at gate on electron density

Temperature induced Copper plate conductivity variation at 1V