PDF

Thermal Analysis of a Bipolar Transistor
This model demonstrates how to combine the Semiconductor interface with the Heat Transfer in Solids interface in order to include the effects of a nonuniform temperature throughout a semiconductor device.
Note: See the Bipolar Transistor model for a description of the bipolar transistor device and how the Semiconductor interface can be used to characterize its operation.
Introduction
In this model, the Heat Transfer in Solids interface is added and configured to calculate the temperature distribution throughout the device. The Semiconductor interface provides the heat source used in the Heat Transfer in Solids interface; whilst the temperature distribution that is used in the Semiconductor interface is calculated by the Heat Transfer in Solids interface.
Model Definition
The model geometry is the same as used in the Bipolar Transistor model. The Heat Transfer in Solids interface is configured to use the semi.Q_tot variable, which is the heating calculated in the Semiconductor interface, as the heat source throughout the model domain. Heat is transferred between the model domain and its environment via the contact boundaries. Since the packaging of the device is not explicitly modeled, the heat transfer coefficient for these boundaries is calculated assuming an effective thermal resistance of R =100 K/W, which is a typical value for small-signal bipolar transistors. This means that a temperature difference of 100 K between the device and the ambient temperature of its environment would result in a 1 W heat flux through the contact boundaries. This heat flux is assumed to be distributed over the total area, A, of the contacts such that the effective heat transfer coefficient, h0, for the contact boundaries is given by
The Semiconductor interface is configured to use an incomplete ionization model for the Dopant Ionization. Incomplete dopant ionization is an important temperature-dependent process that affects the carrier concentration, and thus currents, through the semiconductor material. In the Semiconductor interface, the temperature of the semiconductor material domains is usually set using the default Semiconductor Material Model node. This model adds a second Semiconductor Material Model node: the default node uses a constant material temperature, T0, which is specified in the parameters table; the additional node is set to use a temperature variable T, which is the temperature distribution calculated by the Heat Transfer in Solids interface.
This model sweeps the voltage applied to the base contact whilst the collector contact is held at a constant voltage of 3 V. The device is simulated in the common emitter configuration where the base and collector voltages are measured relative to the emitter, which serves as a common ground. Two studies are required to solve the fully coupled problem. The first study uses the default Semiconductor Material Model node, where the heating from the Semiconductor interface is used as the heat source in the Heat Transfer in Solids interface, but the Semiconductor interface uses a constant material temperature. Solutions from the first study are then used as initial conditions for the second study, which solves the fully coupled problem, where the temperature distribution calculated in the Heat Transfer in Solids interface is fed back into the material temperature used in the Semiconductor interface via the second Semiconductor Material Model node.
The Gummel Plot and Current Gain plot groups from the Bipolar Transistor model are then amended to show the result from the two new studies. Also, the semiconductor heat source, semi.Q_tot, is plotted as a surface plot. Finally, the resulting temperature throughout the semiconductor device is plotted in the same plot group as the voltage distribution. This allows the voltage and corresponding temperature throughout the device to be visualized simultaneously.
Results and Discussion
Figure 1 is the Gummel plot, which shows the collector and base currents, plotted on a logarithmic y-axis as a function of the base voltage. The two datasets are nearly identical because the temperature throughout the device in the fully coupled study does not deviate more than a few degrees from the T0 value used in the initial study.
Figure 1: Gummel plot showing the collector and base currents as a function of base voltage.
Figure 2: Current gain curve showing the ratio of collector to base current as a function of base voltage.
Figure 2 shows the current gain curve, which is the ratio of the collector to base current, as a function of the base voltage. The small magnitude of the base current for low values of the collector current lead to some numerical instability for collector currents less than approximately 10-10 A. Again, the two datasets are similar due to the small temperature difference between the initialization study and the fully coupled study.
The semiconductor heat source is shown in Figure 3. This is the heat source that is used by the Heat Transfer in Solids interface to calculated the temperature distribution throughout the device.
Figure 4 shows the voltage and temperature throughout the device. The top surface plot shows the voltage distribution, along with the electron and hole currents as black and white arrow plots, respectively. As expected, the hole current is between the base and emitter contacts, without entering the collector region, whilst the electron current is predominantly between the collector and emitter. The lower surface plot shows the corresponding temperature throughout the device, along with an arrow plot which shows the heat flux. The temperature is highest between the emitter and collector contacts, at the depth of the junction between the base and collector regions. This is the expected result as the majority of the current flows between these two contacts, and the base-collector junction creates a region with higher resistance than the surrounding bulk material. Thus the Joule heating, which is the predominant semiconductor heating mechanism in this model, is largest in this location. The heat flux also behaves as expected, as it flows from the peak temperature toward the contacts, which are the only boundaries that allow heat transfer in this simple model.
Figure 3: Semiconductor heat source for a base voltage of 1.1 V and a collector voltage of 3 V.
Figure 4: Voltage and temperature for a base voltage of 1.1 V and a collector voltage of 3 V. Top panel: Voltage distribution with electron and hole currents shown in black and white arrows. Bottom panel: Corresponding temperature throughout the device, along with the heat flux shown as arrows.
Application Library path: Semiconductor_Module/Transistors/bipolar_transistor_thermal
Modeling Instructions
Root
Open the bipolar_transistor model
Application Libraries
1
From the File menu, choose Application Libraries.
2
In the Application Libraries window, select Semiconductor Module>Transistors>bipolar_transistor in the tree.
3
Results
Voltage & Current Density
Add some parameters which are required for the Heat Transfer physics. The effective thermal resistance of a fully packaged device is defined as the temperature difference between the device and its surroundings for a given heating power. This temperature difference is measured between the peak temperature within the device, which occurs at the p-n junction boundaries, and the ambient temperature of the environment in which the device is operating. In this model a value of 100 K/W is used, which means that a heat flux of 1 W would result in a temperature difference of 100 K. As only heat transferred to and from the device via the contacts is considered in this model, the effective thermal resistance is divided by the area of the contacts to give the thermal resistance per unit area. The reciprocal of this value gives the effective heat transfer coefficient, with units W/(m^2 K), which is used to specify the heat flux through the contact boundaries. Also added are an index parameters and a continuation parameter, both of which are used to set up the studies required by this model.
Global Definitions
Parameters 1
1
In the Model Builder window, under Global Definitions click Parameters 1.
2
In the Settings window for Parameters, locate the Parameters section.
3
Next, configure the Semiconductor Interface for thermal coupling. Incomplete Ionization is activated in the Semiconductor Material Model node, as this is an important temperature dependent phenomenon. A second Semiconductor Material Model node is required, these nodes specify the temperature used by the Semiconductor Interface. The existing node sets a constant temperature of T0 and will be used in an initialization study in which the thermal effects are not coupled with the semiconductor equations; the additional node sets the temperature to T (using an available item from the drop-down menu after adding the heat transfer physics interface), which is the temperature output by the Heat Transfer in Solids interface, and is used in a second fully coupled study. Also, the base current and collector current nodes are disabled as they are not required in the thermal studies.
Component 1 (comp1)
In the Model Builder window, expand the Component 1 (comp1) node.
Semiconductor (semi)
Semiconductor Material Model 1
1
In the Model Builder window, expand the Component 1 (comp1)>Semiconductor (semi) node, then click Semiconductor Material Model 1.
2
In the Settings window for Semiconductor Material Model, click to expand the Dopant Ionization section.
3
From the Dopant ionization list, choose Incomplete ionization.
4
Click to expand the Continuation Settings section. From the Continuation type list, choose User defined.
5
In the Cpud text field, type c_ion.
Semiconductor Material Model 2
Right-click Component 1 (comp1)>Semiconductor (semi)>Semiconductor Material Model 1 and choose Duplicate.
Base current
1
In the Model Builder window, right-click Base current and choose Disable.
Add the Heat Transfer in Solids Interface and configure the thermal physics. The out-of-plane thickness in the Heat Transfer in Solids Interface needs to be set to the same value as in the Semiconductor Interface. The heating calculated by the Semiconductor Interface, given by variable semi.Q_tot (as an available item in the drop-down menu), is coupled into the Heat Transfer in Solids Interface using a Heat Source node. Also, a Heat Flux node is used to include the effects of heat transfer through the contact boundaries.
Add Physics
1
In the Home toolbar, click  Add Physics to open the Add Physics window.
2
Go to the Add Physics window.
3
In the tree, select Heat Transfer>Heat Transfer in Solids (ht).
4
Click Add to Component 1 in the window toolbar.
5
In the Home toolbar, click  Add Physics to close the Add Physics window.
Heat Transfer in Solids (ht)
1
In the Settings window for Heat Transfer in Solids, locate the Physical Model section.
2
In the dz text field, type l_BJT.
Initial Values 1
1
In the Model Builder window, under Component 1 (comp1)>Heat Transfer in Solids (ht) click Initial Values 1.
2
In the Settings window for Initial Values, locate the Initial Values section.
3
In the T text field, type T0.
Heat Source 1
1
In the Physics toolbar, click  Domains and choose Heat Source.
2
3
In the Settings window for Heat Source, locate the Heat Source section.
4
From the Q0 list, choose Total heat source (semi).
Heat Flux 1
1
In the Physics toolbar, click  Boundaries and choose Heat Flux.
2
3
In the Settings window for Heat Flux, locate the Heat Flux section.
4
From the Flux type list, choose Convective heat flux.
5
In the h text field, type h0.
6
In the Text text field, type T0.
Semiconductor (semi)
Semiconductor Material Model 2
1
In the Model Builder window, under Component 1 (comp1)>Semiconductor (semi) click Semiconductor Material Model 2.
2
3
In the Settings window for Semiconductor Material Model, locate the Model Input section.
4
From the T list, choose Temperature (ht).
Component 1 (comp1)
To save time, use a coarse mesh for this tutorial. A mesh and tolerance refinement study is always recommended to ensure the accuracy of the simulation results.
Level 1 Adapted Mesh 1
1
In the Model Builder window, expand the Component 1 (comp1)>Meshes node.
2
Right-click Component 1 (comp1)>Meshes>Level 1 Adapted Mesh 1 and choose Delete.
Add a study to perform the thermal initialization study. This study uses two Stationary study steps, in both study steps the physics tree is modified to disable the second Semiconductor Material Model node so that the temperature of the device in the Semiconductor Interface is constant throughout this study. The first study step uses a solution from a study computed in the bipolar_transistor.mph model for the initial values and then ramps on the effects of incomplete dopant ionization. The second study step then sweeps the base voltage using the values that will be used in the subsequent fully coupled study.
Add Study
1
In the Home toolbar, click  Add Study to open the Add Study window.
2
Go to the Add Study window.
3
Find the Studies subsection. In the Select Study tree, select General Studies>Stationary.
4
Click Add Study in the window toolbar.
5
In the Home toolbar, click  Add Study to close the Add Study window.
Thermal initialization: V_B sweep, V_C=3 V, V_E=0 V
1
In the Model Builder window, click Study 6.
2
In the Settings window for Study, type Thermal initialization: V_B sweep, V_C=3 V, V_E=0 V in the Label text field.
3
Locate the Study Settings section. Clear the Generate default plots check box.
Step 1: Stationary
1
In the Model Builder window, under Thermal initialization: V_B sweep, V_C=3 V, V_E=0 V click Step 1: Stationary.
2
In the Settings window for Stationary, locate the Physics and Variables Selection section.
3
Select the Modify model configuration for study step check box.
4
In the tree, select Component 1 (Comp1)>Semiconductor (Semi)>Semiconductor Material Model 2.
5
Click  Disable.
6
Click to expand the Values of Dependent Variables section. Find the Initial values of variables solved for subsection. From the Settings list, choose User controlled.
7
From the Method list, choose Solution.
8
From the Study list, choose V_B sweep, V_C=0.5 V, V_E=0 V, Stationary.
9
From the Parameter value (V_B (V)) list, choose 0.3 V.
10
Click to expand the Study Extensions section. Select the Auxiliary sweep check box.
11
From the Sweep type list, choose All combinations.
12
13
14
15
16
From the Reuse solution from previous step list, choose Auto.
Stationary 2
1
In the Study toolbar, click  Study Steps and choose Stationary>Stationary.
2
In the Settings window for Stationary, locate the Physics and Variables Selection section.
3
Select the Modify model configuration for study step check box.
4
In the tree, select Component 1 (Comp1)>Semiconductor (Semi)>Semiconductor Material Model 2.
5
Click  Disable.
6
Click to expand the Study Extensions section. Select the Auxiliary sweep check box.
7
8
9
In the Study toolbar, click  Compute.
Add a second study to perform the fully coupled computation. This study performs a sweep of the base voltage with the thermal effects fully coupled to the semiconductor equations. It uses the initialization study for the initial values of the dependent variables, the index parameter is used to select the corresponding solution for each value of V_B in the auxiliary sweep.
Add Study
1
In the Study toolbar, click  Add Study to open the Add Study window.
2
Go to the Add Study window.
3
Find the Studies subsection. In the Select Study tree, select General Studies>Stationary.
4
Click Add Study in the window toolbar.
5
In the Study toolbar, click  Add Study to close the Add Study window.
Full thermal coupling: V_B sweep, V_C=3 V, V_E=0 V
1
In the Model Builder window, click Study 7.
2
In the Settings window for Study, type Full thermal coupling: V_B sweep, V_C=3 V, V_E=0 V in the Label text field.
3
Locate the Study Settings section. Clear the Generate default plots check box.
Step 1: Stationary
1
In the Model Builder window, under Full thermal coupling: V_B sweep, V_C=3 V, V_E=0 V click Step 1: Stationary.
2
In the Settings window for Stationary, locate the Values of Dependent Variables section.
3
Find the Initial values of variables solved for subsection. From the Settings list, choose User controlled.
4
From the Method list, choose Solution.
5
From the Study list, choose Thermal initialization: V_B sweep, V_C=3 V, V_E=0 V, Stationary 2.
6
From the Parameter value (V_B (V)) list, choose Manual.
7
In the Index text field, type index.
Parametric Sweep
1
In the Study toolbar, click  Parametric Sweep.
2
In the Settings window for Parametric Sweep, locate the Study Settings section.
3
4
5
6
7
Click to expand the Advanced Settings section. From the Use parametric solver list, choose Off.
8
In the Study toolbar, click  Compute.
Amend the Gummel Plot graph to show the results from this model. The dataset used for the existing Global plot is set to the solution from the Thermal initialization study and a second Global plot is added to show the data from the fully coupled solution.
Results
Global 1
1
In the Model Builder window, expand the Results>Gummel Plot, I_C and I_B as a function of V_BE node, then click Global 1.
2
In the Settings window for Global, locate the Data section.
3
From the Dataset list, choose Thermal initialization: V_B sweep, V_C=3 V, V_E=0 V/Solution 9 (sol9).
4
Locate the y-Axis Data section. In the table, enter the following settings:
Global 2
1
Right-click Results>Gummel Plot, I_C and I_B as a function of V_BE>Global 1 and choose Duplicate.
2
In the Settings window for Global, locate the Data section.
3
From the Dataset list, choose Full thermal coupling: V_B sweep, V_C=3 V, V_E=0 V/Parametric Solutions 1 (sol12).
4
Locate the y-Axis Data section. In the table, enter the following settings:
5
Locate the x-Axis Data section. From the Parameter list, choose Expression.
6
In the Expression text field, type V_B.
7
Click to expand the Coloring and Style section. Find the Line style subsection. From the Line list, choose Dashed.
Gummel Plot, I_C and I_B as a function of V_BE
1
In the Model Builder window, click Gummel Plot, I_C and I_B as a function of V_BE.
2
In the Settings window for 1D Plot Group, locate the Data section.
3
From the Dataset list, choose None.
4
Locate the Legend section. From the Position list, choose Lower right.
5
In the Gummel Plot, I_C and I_B as a function of V_BE toolbar, click  Plot.
Amend the Current Gain graph in a similar way.
Global 1
1
In the Model Builder window, expand the Results>Current Gain node, then click Global 1.
2
In the Settings window for Global, locate the Data section.
3
From the Dataset list, choose Thermal initialization: V_B sweep, V_C=3 V, V_E=0 V/Solution 9 (sol9).
4
Locate the y-Axis Data section. In the table, enter the following settings:
Global 2
1
Right-click Results>Current Gain>Global 1 and choose Duplicate.
2
In the Settings window for Global, locate the Data section.
3
From the Dataset list, choose Full thermal coupling: V_B sweep, V_C=3 V, V_E=0 V/Parametric Solutions 1 (sol12).
4
Locate the y-Axis Data section. In the table, enter the following settings:
5
Locate the Coloring and Style section. Find the Line style subsection. From the Line list, choose Dashed.
Current Gain
1
In the Model Builder window, click Current Gain.
2
In the Settings window for 1D Plot Group, locate the Legend section.
3
From the Position list, choose Lower left.
4
In the Current Gain toolbar, click  Plot.
Note that, because of the coupling, the gain curve is more susceptible to numerical fluctuations than the previous curve. This effect could be lessened by reducing the solver absolute tolerance, however this significantly increases the time required to solve the model.
Create a mirrored dataset to represent the entire bipolar transistor (recall that, due to symmetry, only one half of the device is modeled).
Mirror 2D 1
1
In the Results toolbar, click  More Datasets and choose Mirror 2D.
2
In the Settings window for Mirror 2D, locate the Data section.
3
From the Dataset list, choose Full thermal coupling: V_B sweep, V_C=3 V, V_E=0 V/Solution 11 (sol11).
Plot the total heat source from the Semiconductor Interface.
Semiconductor Heat Source
1
In the Results toolbar, click  2D Plot Group.
2
In the Settings window for 2D Plot Group, type Semiconductor Heat Source in the Label text field.
3
Locate the Data section. From the Dataset list, choose Mirror 2D 1.
Surface 1
1
Right-click Semiconductor Heat Source and choose Surface.
2
In the Settings window for Surface, locate the Expression section.
3
In the Expression text field, type semi.Q_tot.
4
Locate the Coloring and Style section. From the Color table list, choose ThermalDark.
5
Click to expand the Quality section. From the Resolution list, choose No refinement.
6
From the Smoothing list, choose Everywhere.
7
Click to expand the Title section. From the Title type list, choose Manual.
8
In the Title text area, type Semiconductor Heating.
9
In the Semiconductor Heat Source toolbar, click  Plot.
10
Click the  Zoom Extents button in the Graphics toolbar.
Notice how the heating is most intense around the base-collector junction directly between the emitter and collector contact. This is to be expected, as the majority of the current flows between these two contacts and the base-collector junction causes a region of higher electrical resistance than the surrounding bulk material.
Plot the temperature distribution and the resulting heat flux. Also plot the voltage and the resulting electron and hole currents. Both plots are shown in the same plot group, with the voltage data offset in the y direction using a deformation.
Temperature and Voltage
1
In the Home toolbar, click  Add Plot Group and choose 2D Plot Group.
2
In the Settings window for 2D Plot Group, type Temperature and Voltage in the Label text field.
3
Locate the Data section. From the Dataset list, choose Mirror 2D 1.
Temperature
1
Right-click Temperature and Voltage and choose Surface.
2
In the Settings window for Surface, type Temperature in the Label text field.
3
Locate the Coloring and Style section. From the Color table list, choose ThermalDark.
Heat flux
1
In the Model Builder window, right-click Temperature and Voltage and choose Arrow Surface.
2
In the Settings window for Arrow Surface, type Heat flux in the Label text field.
3
Locate the Coloring and Style section. From the Arrow length list, choose Logarithmic.
4
From the Color list, choose Green.
Voltage
1
Right-click Temperature and Voltage and choose Surface.
2
In the Settings window for Surface, type Voltage in the Label text field.
3
Locate the Expression section. In the Expression text field, type V.
4
Locate the Quality section. From the Resolution list, choose No refinement.
5
From the Smoothing list, choose Everywhere.
Deformation 1
1
Right-click Voltage and choose Deformation.
2
In the Settings window for Deformation, locate the Expression section.
3
In the x component text field, type 0.
4
In the y component text field, type 1.1.
5
Locate the Scale section. Select the Scale factor check box.
6
7
In the Temperature and Voltage toolbar, click  Plot.
8
Click the  Zoom Extents button in the Graphics toolbar.
Electron current
1
In the Model Builder window, right-click Temperature and Voltage and choose Arrow Surface.
2
In the Settings window for Arrow Surface, type Electron current in the Label text field.
3
Locate the Expression section. In the x component text field, type semi.JnX.
4
In the y component text field, type semi.JnY.
5
Locate the Coloring and Style section. From the Arrow length list, choose Logarithmic.
6
From the Color list, choose Black.
Deformation 1
1
Right-click Electron current and choose Deformation.
2
In the Settings window for Deformation, locate the Expression section.
3
In the x component text field, type 0.
4
In the y component text field, type 1.1.
5
Locate the Scale section. Select the Scale factor check box.
6
Hole current
1
In the Model Builder window, right-click Electron current and choose Duplicate.
2
In the Settings window for Arrow Surface, type Hole current in the Label text field.
3
Locate the Expression section. In the x component text field, type semi.JpX.
4
In the y component text field, type semi.JpY.
5
Locate the Coloring and Style section. From the Color list, choose White.
Temperature and Voltage
1
In the Model Builder window, click Temperature and Voltage.
2
In the Settings window for 2D Plot Group, click to expand the Title section.
3
From the Title type list, choose Manual.
4
In the Title text area, type Temperature and Voltage Distributions.
5
Locate the Color Legend section. Select the Show units check box.
6
From the Position list, choose Bottom.
7
In the Temperature and Voltage toolbar, click  Plot.
8
Click the  Zoom Extents button in the Graphics toolbar.
The value of V_B for which the results are plotted can be varied by clicking on the Temperature and Voltage node and changing the Parameter value (V_B) selection in the Data section. Try several different values of V_B. Notice how the peak temperature is always located around the base-collector junction. The fluxes, shown as arrow plots, also behave as expected: The heat flux is from the peak temperature at the base-collector junction toward the contacts, which are the only boundaries that allow heat transfer in this simple model; the hole current flows from the base to the emitter without entering the collector region, whilst the electron current flows predominantly between the collector and emitter.