|
1 | 1 |
|
| 2 | +.. _sec_transient: |
| 3 | + |
2 | 4 | Transient Method |
3 | 5 | ---------------- |
4 | 6 |
|
5 | 7 | .. need to confirm gamma values make sense from semiconductor simulation transient paper |
6 | 8 |
|
7 | | -See :cite:`bank1270142` for a description of the TRBDF2 method. |
8 | 9 |
|
9 | 10 | Integration |
10 | 11 | ~~~~~~~~~~~ |
11 | 12 |
|
12 | 13 | General Integration |
13 | 14 | ^^^^^^^^^^^^^^^^^^^ |
14 | 15 |
|
| 16 | +At each time step, the transient solver solves |
| 17 | + |
| 18 | +.. math:: |
| 19 | +
|
| 20 | + 0 = \boldsymbol{f}_0 = a_0 \boldsymbol{q}_0 + a_{-1} \boldsymbol{q}_{-1} + a_{-2} \boldsymbol{q}_{-2} + b_0 \boldsymbol{i}_0 + b_{-1} \boldsymbol{i}_{-1} + b_{-2} \boldsymbol{i}_{-2} |
| 21 | +
|
| 22 | +where :math:`\boldsymbol{f}_0` is the vector of net flux at each node in the mesh. The :math:`\boldsymbol{i}_x` represents the time independent part of the semiconductor equations and :math:`\boldsymbol{q}_x` represents the time derivatives terms. The subscript :math:`0` denotes the current time step being solved. The subscripts :math:`-1` and :math:`-2` denote the previous two time steps. |
| 23 | + |
| 24 | +At the beginning of each time step the components are copied in order so that: |
| 25 | + |
| 26 | +.. math:: |
| 27 | +
|
| 28 | + \boldsymbol{i}_{-2} &= \boldsymbol{i}_{-1} |
| 29 | +
|
| 30 | + \boldsymbol{i}_{-1} &= \boldsymbol{i}_{0} |
| 31 | +
|
| 32 | + \boldsymbol{q}_{-2} &= \boldsymbol{q}_{-1} |
| 33 | +
|
| 34 | + \boldsymbol{q}_{-1} &= \boldsymbol{q}_{0} |
| 35 | +
|
| 36 | +
|
| 37 | +
|
| 38 | +TRANSIENT_DC |
| 39 | +^^^^^^^^^^^^ |
| 40 | + |
| 41 | +This is a steady state solution with: |
| 42 | + |
15 | 43 | .. math:: |
16 | 44 |
|
17 | | - 0 = a_0 q_0 + a_1 q_1 + a_2 q_2 + b_0 i_0 + b_1 i_1 + b_2 i_2 |
| 45 | + a_0 &= 1 |
| 46 | +
|
| 47 | + a_1 &= 0 |
| 48 | +
|
| 49 | + b_0 &= 1 |
| 50 | +
|
| 51 | + b_1 &= 0 |
| 52 | +
|
| 53 | + b_2 &= 0 |
| 54 | +
|
| 55 | +and represent the DC steady state. This step can be used to initialize the initial time step so that the other transient methods can begin. |
| 56 | + |
18 | 57 |
|
19 | 58 | BDF1 |
20 | 59 | ^^^^ |
|
82 | 121 | TRBDF2 |
83 | 122 | ^^^^^^ |
84 | 123 |
|
85 | | -Combination of 2 methods |
| 124 | +Combination of 2 methods described in :cite:`bank1270142`. |
86 | 125 |
|
87 | 126 | .. math:: |
88 | 127 |
|
89 | 128 | \gamma &= 2 - \sqrt{2} |
90 | 129 |
|
91 | 130 | and use TR followed by BDF2 |
92 | 131 |
|
93 | | -.. reference famous paper |
94 | 132 |
|
95 | 133 | Projection |
96 | 134 | ~~~~~~~~~~ |
97 | 135 |
|
98 | | -Calculate :math:`q_0` as part of the solution process. Then compare with: |
| 136 | +Calculate :math:`\boldsymbol{q}_0` as part of the solution process. Then compare with: |
99 | 137 |
|
100 | 138 | .. math:: |
| 139 | + :label: transient_projection |
101 | 140 |
|
102 | 141 | 0 = i_1 + \frac{q_{proj} - q_1}{t_{\Delta}} |
103 | 142 |
|
104 | | - q_{proj} = i_1 t_{\Delta} + q_1 |
| 143 | + q_{proj} = - i_1 t_{\Delta} + q_1 |
105 | 144 |
|
106 | 145 | Calculate error between projection and actual charge solution |
107 | 146 |
|
0 commit comments