├── LICENSE ├── NOTICE ├── README.md ├── data ├── README ├── ft.pdf ├── ft.py ├── ft_curves.pdf ├── ft_data.out ├── gummel.pdf ├── gummel.py ├── gummel_0.0.out ├── gummel_0.1.out ├── gummel_0.2.out ├── gummel_0.3.out ├── gummel_0.4.out ├── gummel_0.5.out ├── ic_vce.pdf ├── ic_vce.py ├── ic_vce_0.1.out ├── ic_vce_0.2.out ├── ic_vce_0.3.out ├── ic_vce_0.4.out ├── ic_vce_0.5.out ├── ic_vce_0.6.out ├── ic_vce_0.7.out ├── ic_vce_0.8.out ├── ic_vce_0.9.out ├── ic_vce_1.0.out ├── prep.sh ├── ssac_0.0.out ├── vb2_0.1.out ├── vb2_0.2.out ├── vb2_0.3.out ├── vb2_0.4.out ├── vb2_0.5.out ├── vb2_0.6.out ├── vb2_0.7.out ├── vb2_0.8.out ├── vb2_0.9.out ├── vb2_1.0.out ├── vc_0.0.out ├── vc_0.1.out ├── vc_0.2.out ├── vc_0.3.out ├── vc_0.4.out ├── vc_0.5.out ├── vc_0.6.out ├── vc_0.7.out ├── vc_0.8.out ├── vc_0.9.out ├── vc_1.0.out ├── vc_1.1.out ├── vc_1.2.out ├── vc_1.3.out ├── vc_1.4.out ├── vc_1.5.out ├── ve_0.0.out ├── ve_0.1.out ├── ve_0.2.out ├── ve_0.3.out ├── ve_0.4.out └── ve_0.5.out ├── doc ├── bjtexample.pdf ├── bjtexample.tex └── devsim_bjt_example.pdf └── simdir ├── README.md ├── bjt.geo ├── bjt.msh ├── bjt_bgmesh.pos ├── bjt_circuit2.py ├── bjt_circuit3.py ├── bjt_circuit4.py ├── bjt_circuit5.py ├── bjt_common.py ├── bjt_dd.py ├── bjt_dd_0.msh ├── bjt_dd_0.tec ├── bjt_doping.tec ├── bjt_params.py ├── bjt_refine.py ├── bjt_refine.tec ├── bjt_restart.py ├── bjt_unrefined.tec ├── diode_1d.py ├── initial_guess.py ├── netdoping.py ├── physics ├── __init__.py ├── model_create.py ├── new_physics.py └── ramp2.py ├── read_gmsh.py ├── refinement.py ├── setup_dd.py ├── sims.sh ├── sims2.sh ├── sims3.sh ├── sims4.sh ├── sims5.sh └── simsbatch.txt /LICENSE: -------------------------------------------------------------------------------- 1 | 2 | Apache License 3 | Version 2.0, January 2004 4 | http://www.apache.org/licenses/ 5 | 6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 7 | 8 | 1. Definitions. 9 | 10 | "License" shall mean the terms and conditions for use, reproduction, 11 | and distribution as defined by Sections 1 through 9 of this document. 12 | 13 | "Licensor" shall mean the copyright owner or entity authorized by 14 | the copyright owner that is granting the License. 15 | 16 | "Legal Entity" shall mean the union of the acting entity and all 17 | other entities that control, are controlled by, or are under common 18 | control with that entity. For the purposes of this definition, 19 | "control" means (i) the power, direct or indirect, to cause the 20 | direction or management of such entity, whether by contract or 21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 22 | outstanding shares, or (iii) beneficial ownership of such entity. 23 | 24 | "You" (or "Your") shall mean an individual or Legal Entity 25 | exercising permissions granted by this License. 26 | 27 | "Source" form shall mean the preferred form for making modifications, 28 | including but not limited to software source code, documentation 29 | source, and configuration files. 30 | 31 | "Object" form shall mean any form resulting from mechanical 32 | transformation or translation of a Source form, including but 33 | not limited to compiled object code, generated documentation, 34 | and conversions to other media types. 35 | 36 | "Work" shall mean the work of authorship, whether in Source or 37 | Object form, made available under the License, as indicated by a 38 | copyright notice that is included in or attached to the work 39 | (an example is provided in the Appendix below). 40 | 41 | "Derivative Works" shall mean any work, whether in Source or Object 42 | form, that is based on (or derived from) the Work and for which the 43 | editorial revisions, annotations, elaborations, or other modifications 44 | represent, as a whole, an original work of authorship. For the purposes 45 | of this License, Derivative Works shall not include works that remain 46 | separable from, or merely link (or bind by name) to the interfaces of, 47 | the Work and Derivative Works thereof. 48 | 49 | "Contribution" shall mean any work of authorship, including 50 | the original version of the Work and any modifications or additions 51 | to that Work or Derivative Works thereof, that is intentionally 52 | submitted to Licensor for inclusion in the Work by the copyright owner 53 | or by an individual or Legal Entity authorized to submit on behalf of 54 | the copyright owner. For the purposes of this definition, "submitted" 55 | means any form of electronic, verbal, or written communication sent 56 | to the Licensor or its representatives, including but not limited to 57 | communication on electronic mailing lists, source code control systems, 58 | and issue tracking systems that are managed by, or on behalf of, the 59 | Licensor for the purpose of discussing and improving the Work, but 60 | excluding communication that is conspicuously marked or otherwise 61 | designated in writing by the copyright owner as "Not a Contribution." 62 | 63 | "Contributor" shall mean Licensor and any individual or Legal Entity 64 | on behalf of whom a Contribution has been received by Licensor and 65 | subsequently incorporated within the Work. 66 | 67 | 2. Grant of Copyright License. Subject to the terms and conditions of 68 | this License, each Contributor hereby grants to You a perpetual, 69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 70 | copyright license to reproduce, prepare Derivative Works of, 71 | publicly display, publicly perform, sublicense, and distribute the 72 | Work and such Derivative Works in Source or Object form. 73 | 74 | 3. Grant of Patent License. Subject to the terms and conditions of 75 | this License, each Contributor hereby grants to You a perpetual, 76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 77 | (except as stated in this section) patent license to make, have made, 78 | use, offer to sell, sell, import, and otherwise transfer the Work, 79 | where such license applies only to those patent claims licensable 80 | by such Contributor that are necessarily infringed by their 81 | Contribution(s) alone or by combination of their Contribution(s) 82 | with the Work to which such Contribution(s) was submitted. If You 83 | institute patent litigation against any entity (including a 84 | cross-claim or counterclaim in a lawsuit) alleging that the Work 85 | or a Contribution incorporated within the Work constitutes direct 86 | or contributory patent infringement, then any patent licenses 87 | granted to You under this License for that Work shall terminate 88 | as of the date such litigation is filed. 89 | 90 | 4. Redistribution. You may reproduce and distribute copies of the 91 | Work or Derivative Works thereof in any medium, with or without 92 | modifications, and in Source or Object form, provided that You 93 | meet the following conditions: 94 | 95 | (a) You must give any other recipients of the Work or 96 | Derivative Works a copy of this License; and 97 | 98 | (b) You must cause any modified files to carry prominent notices 99 | stating that You changed the files; and 100 | 101 | (c) You must retain, in the Source form of any Derivative Works 102 | that You distribute, all copyright, patent, trademark, and 103 | attribution notices from the Source form of the Work, 104 | excluding those notices that do not pertain to any part of 105 | the Derivative Works; and 106 | 107 | (d) If the Work includes a "NOTICE" text file as part of its 108 | distribution, then any Derivative Works that You distribute must 109 | include a readable copy of the attribution notices contained 110 | within such NOTICE file, excluding those notices that do not 111 | pertain to any part of the Derivative Works, in at least one 112 | of the following places: within a NOTICE text file distributed 113 | as part of the Derivative Works; within the Source form or 114 | documentation, if provided along with the Derivative Works; or, 115 | within a display generated by the Derivative Works, if and 116 | wherever such third-party notices normally appear. The contents 117 | of the NOTICE file are for informational purposes only and 118 | do not modify the License. You may add Your own attribution 119 | notices within Derivative Works that You distribute, alongside 120 | or as an addendum to the NOTICE text from the Work, provided 121 | that such additional attribution notices cannot be construed 122 | as modifying the License. 123 | 124 | You may add Your own copyright statement to Your modifications and 125 | may provide additional or different license terms and conditions 126 | for use, reproduction, or distribution of Your modifications, or 127 | for any such Derivative Works as a whole, provided Your use, 128 | reproduction, and distribution of the Work otherwise complies with 129 | the conditions stated in this License. 130 | 131 | 5. Submission of Contributions. Unless You explicitly state otherwise, 132 | any Contribution intentionally submitted for inclusion in the Work 133 | by You to the Licensor shall be under the terms and conditions of 134 | this License, without any additional terms or conditions. 135 | Notwithstanding the above, nothing herein shall supersede or modify 136 | the terms of any separate license agreement you may have executed 137 | with Licensor regarding such Contributions. 138 | 139 | 6. Trademarks. This License does not grant permission to use the trade 140 | names, trademarks, service marks, or product names of the Licensor, 141 | except as required for reasonable and customary use in describing the 142 | origin of the Work and reproducing the content of the NOTICE file. 143 | 144 | 7. Disclaimer of Warranty. Unless required by applicable law or 145 | agreed to in writing, Licensor provides the Work (and each 146 | Contributor provides its Contributions) on an "AS IS" BASIS, 147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 148 | implied, including, without limitation, any warranties or conditions 149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 150 | PARTICULAR PURPOSE. You are solely responsible for determining the 151 | appropriateness of using or redistributing the Work and assume any 152 | risks associated with Your exercise of permissions under this License. 153 | 154 | 8. Limitation of Liability. In no event and under no legal theory, 155 | whether in tort (including negligence), contract, or otherwise, 156 | unless required by applicable law (such as deliberate and grossly 157 | negligent acts) or agreed to in writing, shall any Contributor be 158 | liable to You for damages, including any direct, indirect, special, 159 | incidental, or consequential damages of any character arising as a 160 | result of this License or out of the use or inability to use the 161 | Work (including but not limited to damages for loss of goodwill, 162 | work stoppage, computer failure or malfunction, or any and all 163 | other commercial damages or losses), even if such Contributor 164 | has been advised of the possibility of such damages. 165 | 166 | 9. Accepting Warranty or Additional Liability. While redistributing 167 | the Work or Derivative Works thereof, You may choose to offer, 168 | and charge a fee for, acceptance of support, warranty, indemnity, 169 | or other liability obligations and/or rights consistent with this 170 | License. However, in accepting such obligations, You may act only 171 | on Your own behalf and on Your sole responsibility, not on behalf 172 | of any other Contributor, and only if You agree to indemnify, 173 | defend, and hold each Contributor harmless for any liability 174 | incurred by, or claims asserted against, such Contributor by reason 175 | of your accepting any such warranty or additional liability. 176 | 177 | END OF TERMS AND CONDITIONS 178 | 179 | APPENDIX: How to apply the Apache License to your work. 180 | 181 | To apply the Apache License to your work, attach the following 182 | boilerplate notice, with the fields enclosed by brackets "[]" 183 | replaced with your own identifying information. (Don't include 184 | the brackets!) The text should be enclosed in the appropriate 185 | comment syntax for the file format. We also recommend that a 186 | file or class name and description of purpose be included on the 187 | same "printed page" as the copyright notice for easier 188 | identification within third-party archives. 189 | 190 | Copyright [yyyy] [name of copyright owner] 191 | 192 | Licensed under the Apache License, Version 2.0 (the "License"); 193 | you may not use this file except in compliance with the License. 194 | You may obtain a copy of the License at 195 | 196 | http://www.apache.org/licenses/LICENSE-2.0 197 | 198 | Unless required by applicable law or agreed to in writing, software 199 | distributed under the License is distributed on an "AS IS" BASIS, 200 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 201 | See the License for the specific language governing permissions and 202 | limitations under the License. 203 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | DEVSIM 2 | 3 | Copyright 2016 Devsim LLC 4 | 5 | Open source availability at http://www.devsim.org. 6 | 7 | DEVSIM is a registered trademark of DEVSIM LLC. 8 | 9 | This product includes software developed at Devsim LLC (http://www.devsim.com/). 10 | 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # devsim_bjt_example 2 | BJT publication examples 3 | 4 | This project contains the simulation files for the paper "Semiconductor Device Simulation Using DEVSIM", available from https://doi.org/10.5281/zenodo.4582738. 5 | 6 | To download these files, either clone this project, or get the zip files from https://github.com/devsim/devsim_bjt_example/releases. 7 | -------------------------------------------------------------------------------- /data/README: -------------------------------------------------------------------------------- 1 | prep.sh creates the data files used by the python scripts for figure generation. 2 | -------------------------------------------------------------------------------- /data/ft.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devsim/devsim_bjt_example/9987be11e20c3a14109763550d4de6be77cea6a5/data/ft.pdf -------------------------------------------------------------------------------- /data/ft.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Copyright 2016 Devsim LLC 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | import pylab 18 | import numpy 19 | #ACHEADER: f V(base) V(collector) V(emitter) I(base) I(collector) I(emitter) IR(base) II(base) IR(collector) II(collector) IR(emitter) II(emitter) 20 | filename = 'ft_data.out' 21 | 22 | def create_data(data): 23 | vbe = data[0,1]-data[0,3] 24 | IC = data[0,5] 25 | ic = data[:,9] + 1j*data[:,10] 26 | ib = data[:,7] + 1j*data[:,8] 27 | beta = abs(ic / ib) 28 | f = data[:,0] 29 | betadc = beta[0] 30 | ft = None 31 | if betadc > 1: 32 | for i in range(1, len(beta)): 33 | if beta[i] < 1: 34 | # simple linear interpolation 35 | # should use log 36 | y1 = numpy.log(beta[i]) 37 | y0 = numpy.log(beta[i-1]) 38 | x1 = numpy.log(f[i]) 39 | x0 = numpy.log(f[i-1]) 40 | m = (y1-y0)/(x1-x0) 41 | x = x1 - y1/m 42 | ft = numpy.exp(x) 43 | break 44 | return (vbe, { 45 | 'f' : f, 46 | 'ib' : ib, #ac ib 47 | 'ic' : ic, #ac ic 48 | 'IC' : IC, #dc Ic 49 | 'beta' : beta, #ac beta 50 | 'ft' : ft, 51 | }) 52 | 53 | data = pylab.loadtxt(filename) 54 | #print len(data) 55 | fmin = data[0,0] 56 | #print fmin 57 | imin = 0 58 | datasets = [] 59 | for i in range(1,len(data)): 60 | f = data[i,0] 61 | if f == fmin: 62 | datasets.append(create_data(data[imin:i])) 63 | imin = i 64 | datasets.append(create_data(data[imin:i])) 65 | #print datasets 66 | pylab.figure() 67 | for v, d in datasets: 68 | #print '%g %d' %(v, round(v*10)) 69 | if abs(round(v*10.0) - v*10.0) < 1e-2: 70 | pylab.loglog(d['f'], d['beta'], label=str(v)) 71 | pylab.xlabel(r'$f$ (Hz)') 72 | pylab.ylabel(r'$|\beta\|$') 73 | pylab.legend(loc='upper right') 74 | pylab.savefig('ft_curves.pdf') 75 | pylab.savefig('ft_curves.eps', format='eps') 76 | 77 | 78 | pylab.figure() 79 | IC = [] 80 | ft = [] 81 | pylab.ticklabel_format(style='sci', axis='y', scilimits=(0,0)) 82 | for i in datasets: 83 | if i[1]['ft']: 84 | IC.append(i[1]['IC']) 85 | ft.append(i[1]['ft']) 86 | pylab.semilogx(IC, ft, '-+') 87 | pylab.xlabel(r"$I_c$ (A/cm)") 88 | pylab.ylabel(r"$f_T$ (Hz)") 89 | pylab.savefig('ft.pdf') 90 | pylab.savefig('ft.eps', format='eps') 91 | 92 | -------------------------------------------------------------------------------- /data/ft_curves.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devsim/devsim_bjt_example/9987be11e20c3a14109763550d4de6be77cea6a5/data/ft_curves.pdf -------------------------------------------------------------------------------- /data/gummel.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devsim/devsim_bjt_example/9987be11e20c3a14109763550d4de6be77cea6a5/data/gummel.pdf -------------------------------------------------------------------------------- /data/gummel.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Copyright 2016 Devsim LLC 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | import pylab 18 | import numpy 19 | import matplotlib.pyplot as plt 20 | fig = plt.figure() 21 | ax1 = fig.add_subplot(111) 22 | ax2 = ax1.twinx() 23 | filename = 'gummel_0.0.out' 24 | #HEADER: V(base) V(collector) V(emitter) I(base) I(collector) I(emitter) 25 | data = pylab.loadtxt(filename) 26 | vbe = data[:,0]-data[:,2] 27 | ic = data[:,4] 28 | ib = data[:,3] 29 | beta = ic/ib 30 | l1 = ax1.semilogy(vbe, beta, "-*", label=r"$\beta$", color="black") 31 | l2 = ax2.semilogy(vbe, ic, "-+", label=r"$I_c$") 32 | l3 = ax2.semilogy(vbe, ib, "-.", label=r"$I_b$") 33 | lns = l1 + l2 + l3 34 | ax1.legend(l1+l2+l3, (r"$\beta$", r"$I_c$", r"$I_b$"), loc="upper left") 35 | #pylab.title("Title of Plot") 36 | ax1.set_xlabel(r"$V_{be}$ (V)") 37 | ax2.set_ylabel(r"A/cm") 38 | #ax2.set_ylabel(r"A/cm") 39 | #pylab.ylabel("Y Axis Label") 40 | pylab.savefig('gummel.pdf') 41 | pylab.savefig('gummel.eps', format='eps') 42 | 43 | 44 | -------------------------------------------------------------------------------- /data/gummel_0.0.out: -------------------------------------------------------------------------------- 1 | 0 0 -0.1 2.15783225022536e-13 8.26752190018031e-13 -1.04253541504057e-12 2 | 0 0 -0.2 1.76790112028829e-12 3.92769520805282e-11 -4.10448532008165e-11 3 | 0 0 -0.3 1.39363978507534e-11 1.82655805341859e-09 -1.84049445126935e-09 4 | 0 0 -0.4 1.29842121245298e-10 8.47959786419296e-08 -8.49258207631749e-08 5 | 0 0 -0.5 2.14874474939633e-09 3.92946100155044e-06 -3.93160974629984e-06 6 | 0 0 -0.6 7.15429683490993e-08 0.000181542750370592 -0.000181614293338941 7 | 0 0 -0.7 3.1619580561397e-06 0.00833290105699841 -0.00833606301505454 8 | 0 0 -0.8 0.00014733791425358 0.367577607440539 -0.367724945354793 9 | 0 0 -0.85 0.000982757457678464 2.17345242582322 -2.1744351832809 10 | 0 0 -0.8625 0.00156303339758898 3.25123729448446 -3.25280032788205 11 | 0 0 -0.86875 0.00197202054375154 3.91027353021836 -3.91224555076211 12 | 0 0 -0.875 0.00249080245465409 4.62763473416422 -4.63012553661888 13 | 0 0 -0.88125 0.00314417255444224 5.39713044504936 -5.40027461760379 14 | 0 0 -0.8875 0.00396125494789555 6.2201425641148 -6.22410381906269 15 | 0 0 -0.89375 0.00497692548014364 7.10040026265797 -7.1053771881381 16 | 0 0 -0.9 0.0062320964622135 8.04456162355667 -8.05079372001887 17 | 0 0 -0.9125 0.00965527402587207 10.1540439308158 -10.1636992048417 18 | 0 0 -0.925 0.0146780844715409 12.5803744250003 -12.5950525094718 19 | 0 0 -0.9375 0.0218164201167532 15.3276597625853 -15.349476182702 20 | 0 0 -0.95 0.0315946757588654 18.3680518947648 -18.3996465705237 21 | 0 0 -0.9625 0.0444780991760541 21.6516301348554 -21.6961082340315 22 | 0 0 -0.975 0.0608109338782118 25.1146304841215 -25.1754414179997 23 | 0 0 -0.987499999999999 0.0807961272563612 28.685902232929 -28.7666983601853 24 | 0 0 -0.999999999999999 0.104500907567653 32.3100418260137 -32.4145427335814 25 | -------------------------------------------------------------------------------- /data/gummel_0.1.out: -------------------------------------------------------------------------------- 1 | 0 0.1 -0.1 -7.22677105329449e-13 1.78404372637395e-12 -1.0613666210445e-12 2 | 0 0.1 -0.2 8.29440477171438e-13 4.0298863037108e-11 -4.11283035142794e-11 3 | 0 0.1 -0.3 1.29979219955116e-11 1.8305239443231e-09 -1.84352186631861e-09 4 | 0 0.1 -0.4 1.28902927754192e-10 8.4932930431592e-08 -8.50618333593463e-08 5 | 0 0.1 -0.5 2.14776684076225e-09 3.93558192747564e-06 -3.93772969431641e-06 6 | 0 0.1 -0.6 7.15391439925623e-08 0.000181816428107715 -0.000181887967251708 7 | 0 0.1 -0.65 4.68738061010819e-07 0.0012333488405263 -0.00123381757858732 8 | 0 0.1 -0.7 3.16183305818209e-06 0.0083449752704635 -0.0083481371035217 9 | 0 0.1 -0.75 2.15765555478215e-05 0.0560993135771546 -0.0561208901327024 10 | 0 0.1 -0.8 0.000147330322802944 0.368070861403893 -0.368218191726696 11 | 0 0.1 -0.85 0.000982580502051009 2.17628830853947 -2.17727088904152 12 | 0 0.1 -0.8625 0.00156177790870865 3.25973962438051 -3.26130140228922 13 | 0 0.1 -0.86875 0.00196695607870517 3.93713010138814 -3.93909705746684 14 | 0 0.1 -0.875 0.00248166966933909 4.67848261930675 -4.68096428897609 15 | 0 0.1 -0.88125 0.00313196008036533 5.47029556004112 -5.47342752012148 16 | 0 0.1 -0.8875 0.00394651907904607 6.31152650033915 -6.31547301941819 17 | 0 0.1 -0.89375 0.00495999889232035 7.20491171196972 -7.20987171086205 18 | 0 0.1 -0.9 0.00621282502915618 8.15800041314012 -8.16421323816927 19 | 0 0.1 -0.90625 0.00775193380939536 9.17866116649212 -9.18641310030152 20 | 0 0.1 -0.9125 0.00963032760049192 10.2741833932217 -10.2838137208222 21 | 0 0.1 -0.91875 0.0119064095252219 11.4483762803212 -11.4602826898465 22 | 0 0.1 -0.925 0.0146435085353245 12.7032431965616 -12.7178867050969 23 | 0 0.1 -0.93125 0.017907484290585 14.0356732063749 -14.0535806906655 24 | 0 0.1 -0.9375 0.0217654472817717 15.4467769118123 -15.4685423590941 25 | 0 0.1 -0.95 0.0315179624401248 18.4856363711454 -18.5171543335855 26 | 0 0.1 -0.9625 0.0443603799069339 21.7617756108627 -21.8061359907696 27 | 0 0.1 -0.975 0.0606333239382712 25.2172876068386 -25.2779209307769 28 | 0 0.1 -0.9875 0.0805240795017648 28.7823040268473 -28.8628281063491 29 | 0 0.1 -1 0.104107566635311 32.3962671026595 -32.5003746692948 30 | -------------------------------------------------------------------------------- /data/gummel_0.2.out: -------------------------------------------------------------------------------- 1 | 0 0.2 -0.1 -1.37431743525892e-12 2.43747538827334e-12 -1.06315795301441e-12 2 | 0 0.2 -0.2 1.7779986000861e-13 4.10155950390391e-11 -4.11933948990477e-11 3 | 0 0.2 -0.3 1.2346267900703e-11 1.8341077389275e-09 -1.84645400682821e-09 4 | 0 0.2 -0.4 1.28250636806963e-10 8.50659985140022e-08 -8.51942491508093e-08 5 | 0 0.2 -0.5 2.14707952948817e-09 3.94154090291162e-06 -3.94368798244111e-06 6 | 0 0.2 -0.6 7.15359789371184e-08 0.000182082850691848 -0.000182154386670785 7 | 0 0.2 -0.7 3.16172233355341e-06 0.0083567272609568 -0.00835988898329036 8 | 0 0.2 -0.8 0.000147323401913744 0.368549270470709 -0.368696593872622 9 | 0 0.2 -0.85 0.000982429003984083 2.17890154083164 -2.17988396983563 10 | 0 0.2 -0.8625 0.00156118306982662 3.26487349602093 -3.26643467909076 11 | 0 0.2 -0.86875 0.00196383138471326 3.95366442526322 -3.95562825664793 12 | 0 0.2 -0.875 0.00247402745238705 4.7171987856621 -4.71967281311449 13 | 0 0.2 -0.88125 0.00312077263994323 5.53219072200167 -5.53531149464161 14 | 0 0.2 -0.8875 0.00393279237608666 6.39191479328401 -6.3958475856601 15 | 0 0.2 -0.89375 0.00494387959394746 7.30075518475634 -7.30569906435029 16 | 0 0.2 -0.9 0.00619459483435779 8.26306190205002 -8.26925649688438 17 | 0 0.2 -0.90625 0.00773153881275147 9.28787831048995 -9.29560984930271 18 | 0 0.2 -0.9125 0.00960683743722982 10.3874424551371 -10.3970492925744 19 | 0 0.2 -0.91875 0.0118796761526819 11.5611439020106 -11.5730235781633 20 | 0 0.2 -0.925 0.014611675431252 12.8177077492153 -12.8323194246465 21 | 0 0.2 -0.93125 0.0178695678366263 14.1513565875431 -14.1692261553798 22 | 0 0.2 -0.9375 0.0217190562323938 15.5602793351683 -15.5819983914007 23 | 0 0.2 -0.95 0.0314493238709714 18.5969344259529 -18.6283837498239 24 | 0 0.2 -0.9625 0.0442560747982174 21.868402259965 -21.9126583347632 25 | 0 0.2 -0.975 0.0604742229000294 25.3152964664101 -25.3757706893101 26 | 0 0.2 -0.987499999999999 0.0802901329075932 28.8742911056815 -28.9545812385891 27 | 0 0.2 -0.999999999999999 0.103756947434181 32.4810214088869 -32.5847783563211 28 | -------------------------------------------------------------------------------- /data/gummel_0.3.out: -------------------------------------------------------------------------------- 1 | 0 0.3 -0.1 -1.9622958989373e-12 3.02685789156206e-12 -1.06456199262476e-12 2 | 0 0.3 -0.2 -4.10178845151043e-13 4.16668802933132e-11 -4.12567014481621e-11 3 | 0 0.3 -0.3 1.17582778924397e-11 1.83756226132714e-09 -1.84932053921958e-09 4 | 0 0.3 -0.4 1.27662110153261e-10 8.51960450238059e-08 -8.53237071339591e-08 5 | 0 0.3 -0.5 2.14646122716792e-09 3.9473662674713e-06 -3.94951272869847e-06 6 | 0 0.3 -0.55 1.16457865222521e-08 2.68422156932379e-05 -2.68538614797601e-05 7 | 0 0.3 -0.6 7.15331684899699e-08 0.000182343277663685 -0.000182414810832175 8 | 0 0.3 -0.65 4.68704659297141e-07 0.00123685718187064 -0.00123732588652995 9 | 0 0.3 -0.7 3.16162212062933e-06 0.00836821292510328 -0.00837137454722392 10 | 0 0.3 -0.75 2.15751209079459e-05 0.0562511782663948 -0.0562727533873028 11 | 0 0.3 -0.8 0.000147317000657437 0.369015565868191 -0.369162882868849 12 | 0 0.3 -0.85 0.000982294081896226 2.18136304757658 -2.18234534165848 13 | 0 0.3 -0.8625 0.00156076881640781 3.26899249183517 -3.27055326065158 14 | 0 0.3 -0.875 0.00246794878634961 4.74586579916254 -4.74833374794889 15 | 0 0.3 -0.88125 0.00311063552881839 5.5837692832047 -5.58687991873353 16 | 0 0.3 -0.8875 0.003919817332233 6.46334523651339 -6.46726505384563 17 | 0 0.3 -0.89375 0.00492862053555012 7.38720741883347 -7.39213603936902 18 | 0 0.3 -0.9 0.00617735566446473 8.35975443812505 -8.36593179378951 19 | 0 0.3 -0.90625 0.0077119174840715 9.39194824100175 -9.39966015848581 20 | 0 0.3 -0.9125 0.00958503195029387 10.4918574286938 -10.5014424606441 21 | 0 0.3 -0.925 0.014582452926427 12.9239200722502 -12.9385025251767 22 | 0 0.3 -0.9375 0.0216768784899756 15.6692631035004 -15.6909399819904 23 | 0 0.3 -0.94375 0.0261740012281655 17.1502080837303 -17.1763820849585 24 | 0 0.3 -0.95 0.0313869303747366 18.7010924019901 -18.7324793323648 25 | 0 0.3 -0.95625 0.0373669473908663 20.3120119453595 -20.3493788927504 26 | 0 0.3 -0.9625 0.0441616459365273 21.9715181787041 -22.0156798246406 27 | 0 0.3 -0.96875 0.0518077287211909 23.6734521632549 -23.7252598919761 28 | 0 0.3 -0.975 0.06033158758762 25.4107574846015 -25.4710890721892 29 | 0 0.3 -0.9875 0.0800827988379001 28.9618660972175 -29.0419488960554 30 | 0 0.3 -1 0.103449669993413 32.563124442841 -32.6665741128344 31 | -------------------------------------------------------------------------------- /data/gummel_0.4.out: -------------------------------------------------------------------------------- 1 | 0 0.4 -0.1 -2.51098660871179e-12 3.57691701331472e-12 -1.06593040460294e-12 2 | 0 0.4 -0.2 -9.58869753691306e-13 4.22776713308981e-11 -4.13188015772068e-11 3 | 0 0.4 -0.3 1.12095774640687e-11 1.84092299360579e-09 -1.85213257106986e-09 4 | 0 0.4 -0.4 1.27112957087149e-10 8.53235814997183e-08 -8.54506944568055e-08 5 | 0 0.4 -0.5 2.14588649753294e-09 3.95307996944094e-06 -3.95522585593847e-06 6 | 0 0.4 -0.6 7.1530607940305e-08 0.000182598690539778 -0.000182670221147719 7 | 0 0.4 -0.7 3.16153000541731e-06 0.00837947576855562 -0.00838263729856105 8 | 0 0.4 -0.8 0.000147311011515128 0.36947182616312 -0.369619137174635 9 | 0 0.4 -0.85 0.000982171099665409 2.18371254647468 -2.18469471757435 10 | 0 0.4 -0.875 0.00246346781084748 4.76633999139028 -4.76880345920113 11 | 0 0.4 -0.88125 0.00310160902800446 5.6258274304883 -5.62892903951631 12 | 0 0.4 -0.8875 0.00390766207109581 6.52592458258039 -6.52983224465149 13 | 0 0.4 -0.89375 0.00491428650058929 7.46472966538065 -7.46964395188124 14 | 0 0.4 -0.9 0.00616076027632241 8.45009844305503 -8.45625920333136 15 | 0 0.4 -0.90625 0.00769329974922004 9.48883461568067 -9.49652791542989 16 | 0 0.4 -0.9125 0.00956437229234613 10.5905667786945 -10.6001311509868 17 | 0 0.4 -0.91875 0.0118303784241583 11.7712386039688 -11.7830689823929 18 | 0 0.4 -0.925 0.014555246305033 13.0246502975407 -13.0392055438457 19 | 0 0.4 -0.93125 0.0178018777382058 14.3616773908594 -14.3794792685976 20 | 0 0.4 -0.9375 0.0216380331817833 15.7725678024957 -15.7942058356775 21 | 0 0.4 -0.94375 0.0261264202368946 17.2526736478568 -17.2788000680937 22 | 0 0.4 -0.95 0.0313288168250641 18.8001245066376 -18.8314533234626 23 | 0 0.4 -0.9625 0.0440755456138284 22.0704901636466 -22.1145657092605 24 | 0 0.4 -0.975 0.060203682231877 25.5043559676612 -25.5645596498931 25 | 0 0.4 -0.9875 0.0798924015829784 29.0465758304588 -29.1264682320418 26 | 0 0.4 -1 0.103181133793804 32.6418961565729 -32.7450772903667 27 | -------------------------------------------------------------------------------- /data/gummel_0.5.out: -------------------------------------------------------------------------------- 1 | 0 0.5 -0.1 -3.02369652730706e-12 4.09097254741204e-12 -1.06727602010499e-12 2 | 0 0.5 -0.2 -1.47157984453466e-12 4.28514293649609e-11 -4.13798495204263e-11 3 | 0 0.5 -0.3 1.06968590673807e-11 1.84419996274627e-09 -1.85489682181364e-09 4 | 0 0.5 -0.4 1.26599842588093e-10 8.54489144436185e-08 -8.55755142862067e-08 5 | 0 0.5 -0.5 2.14535075148542e-09 3.95869565662107e-06 -3.96084100737256e-06 6 | 0 0.5 -0.6 7.15282511022649e-08 0.000182849699966738 -0.000182921228217841 7 | 0 0.5 -0.7 3.1614444901549e-06 0.00839054289833806 -0.00839370434282824 8 | 0 0.5 -0.8 0.000147305358647016 0.369919414054587 -0.370066719413234 9 | 0 0.5 -0.85 0.000982057212584664 2.18597556790004 -2.18695762511262 10 | 0 0.5 -0.875 0.00246055999206575 4.77993179739145 -4.78239235738352 11 | 0 0.5 -0.878125 0.00275792657359988 5.21360598521994 -5.21636391179354 12 | 0 0.5 -0.88125 0.0030937651700962 5.65966985071802 -5.66276361588811 13 | 0 0.5 -0.884375 0.00347189800144862 6.11617140258008 -6.11964330058153 14 | 0 0.5 -0.8875 0.00389623412183734 6.58095874273888 -6.58485497686072 15 | 0 0.5 -0.890625 0.00437094521064501 7.05360756648178 -7.05797851169242 16 | 0 0.5 -0.89375 0.00490049615066563 7.53587932371498 -7.54077981986564 17 | 0 0.5 -0.9 0.00614479274769364 8.53361219676137 -8.53975698950906 18 | 0 0.5 -0.90625 0.00767565156257496 9.57861501308999 -9.58629066465257 19 | 0 0.5 -0.9125 0.00954429885942757 10.6858825481113 -10.6954268469707 20 | 0 0.5 -0.91875 0.0118080845485382 11.8653539235398 -11.8771620080883 21 | 0 0.5 -0.925 0.0145292148090226 13.1222348891934 -13.1367641040024 22 | 0 0.5 -0.93125 0.0177717571020543 14.4565267075175 -14.4742984646196 23 | 0 0.5 -0.94375 0.0260827395759006 17.351099602528 -17.3771823421039 24 | 0 0.5 -0.95 0.0312747461428594 18.8960539203211 -18.927328666464 25 | 0 0.5 -0.95625 0.0372326717108589 20.5033993004457 -20.5406319721566 26 | 0 0.5 -0.9625 0.0439972262378812 22.1642721648539 -22.2082693910918 27 | 0 0.5 -0.96875 0.0516059886490294 23.864106072285 -23.915712060934 28 | 0 0.5 -0.975 0.0600870359318615 25.5958450638506 -25.6559320997825 29 | 0 0.5 -0.98125 0.0694541775914366 27.3532600812295 -27.422714258821 30 | 0 0.5 -0.99375 0.0908835944559186 30.9203124855092 -31.0111960799651 31 | 0 0.5 -1 0.102939695315617 32.7176925184566 -32.8206322137722 32 | -------------------------------------------------------------------------------- /data/ic_vce.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devsim/devsim_bjt_example/9987be11e20c3a14109763550d4de6be77cea6a5/data/ic_vce.pdf -------------------------------------------------------------------------------- /data/ic_vce.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Copyright 2016 Devsim LLC 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | import pylab 18 | #import numpy 19 | #import matplotlib.pyplot as plt 20 | ##HEADER: V(base) V(collector) V(emitter) I(base) I(collector) I(emitter) 21 | 22 | files = ( 23 | #'ic_vce_0.1.out', 24 | #'ic_vce_0.2.out', 25 | #'ic_vce_0.3.out', 26 | #'ic_vce_0.4.out', 27 | #'ic_vce_0.5.out', 28 | #'ic_vce_0.6.out', 29 | 'ic_vce_0.7.out', 30 | #'ic_vce_0.8.out', 31 | #'ic_vce_0.9.out', 32 | #'ic_vce_1.0.out', 33 | ) 34 | 35 | for filename in files: 36 | data = pylab.loadtxt(filename) 37 | vce = data[:,1]-data[:,2] 38 | ic = data[:,4] 39 | pylab.plot(vce, ic) 40 | 41 | pylab.xlabel(r"$V_{ce}$ (V)") 42 | pylab.ylabel(r"$I_c$ (A/cm)") 43 | pylab.savefig('ic_vce.pdf') 44 | pylab.savefig('ic_vce.eps', format='eps') 45 | -------------------------------------------------------------------------------- /data/ic_vce_0.1.out: -------------------------------------------------------------------------------- 1 | 0.1 0.1 0 2.15783224395627e-13 8.26752500981955e-13 -1.04253572537758e-12 2 | 0.1 0.2 0 -7.22677098226974e-13 1.78404373960989e-12 -1.06136664138292e-12 3 | 0.1 0.3 0 -1.37431742999063e-12 2.43747576154614e-12 -1.06315833155552e-12 4 | 0.1 0.4 0 -1.96229589986448e-12 3.02685747943345e-12 -1.06456157956897e-12 5 | 0.1 0.5 0 -2.51098660850659e-12 3.57691694832722e-12 -1.06593033982066e-12 6 | 0.1 0.6 0 -3.02369652664438e-12 4.09097248149261e-12 -1.06727595484823e-12 7 | 0.1 0.7 0 -3.50807162566218e-12 4.57667089597874e-12 -1.06859927031656e-12 8 | 0.1 0.8 0 -3.97118744445944e-12 5.04108905974653e-12 -1.06990161528708e-12 9 | 0.1 0.9 0 -4.41709205456069e-12 5.48827518889287e-12 -1.07118313433222e-12 10 | 0.1 1 0 -4.84385655832689e-12 5.91630011438047e-12 -1.07244355605358e-12 11 | 0.1 1.1 0 -5.26650345666722e-12 6.34019020658827e-12 -1.07368674992093e-12 12 | 0.1 1.2 0 -5.67804406998206e-12 6.75295908910003e-12 -1.07491501911805e-12 13 | 0.1 1.3 0 -6.05871955503529e-12 7.13485120916739e-12 -1.07613165413221e-12 14 | 0.1 1.4 0 -6.41220879844894e-12 7.48954681723575e-12 -1.07733801878687e-12 15 | 0.1 1.425 0 -6.49922797479175e-12 7.57686556528057e-12 -1.07763759048882e-12 16 | 0.1 1.4375 0 -6.54277395443974e-12 7.62056228100431e-12 -1.07778832656455e-12 17 | 0.1 1.440625 0 -6.55366811132879e-12 7.63149369356562e-12 -1.07782558223683e-12 18 | 0.1 1.44375 0 -6.56456583782245e-12 7.64242794290141e-12 -1.07786210507895e-12 19 | 0.1 1.446875 0 -6.57546729820483e-12 7.65336760054593e-12 -1.07790030234111e-12 20 | 0.1 1.45 0 -6.58637268354329e-12 7.66431006484628e-12 -1.07793738130299e-12 21 | 0.1 1.453125 0 -6.59728209915366e-12 7.67525721467932e-12 -1.07797511552565e-12 22 | 0.1 1.45625 0 -6.60819568861273e-12 7.68620821212802e-12 -1.07801252351528e-12 23 | 0.1 1.459375 0 -6.61911350792803e-12 7.69716395435051e-12 -1.07805044642247e-12 24 | 0.1 1.4625 0 -6.63003564193693e-12 7.70812287903113e-12 -1.0780872370942e-12 25 | 0.1 1.465625 0 -6.64096213300759e-12 7.71908683104851e-12 -1.07812469804092e-12 26 | 0.1 1.46875 0 -6.65189300569404e-12 7.73005463632057e-12 -1.07816163062652e-12 27 | 0.1 1.471875 0 -6.66282825486819e-12 7.741027827191e-12 -1.07819957232281e-12 28 | 0.1 1.475 0 -6.67376789851681e-12 7.75200371371895e-12 -1.07823581520214e-12 29 | 0.1 1.48125 0 -6.69566022306315e-12 7.7739713274947e-12 -1.07831110443154e-12 30 | 0.1 1.4875 0 -6.71756968297394e-12 7.79595587081562e-12 -1.07838618784166e-12 31 | 0.1 1.49375 0 -6.73949585166175e-12 7.81795580377395e-12 -1.07845995211219e-12 32 | 0.1 1.496875 0 -6.75046505348961e-12 7.82896259043663e-12 -1.07849753694702e-12 33 | 0.1 1.5 0 -6.76143824086545e-12 7.83997350104521e-12 -1.07853526017976e-12 34 | -------------------------------------------------------------------------------- /data/ic_vce_0.2.out: -------------------------------------------------------------------------------- 1 | 0.2 0.1 0 5.5819551822892e-12 3.45876416669946e-11 -4.01695968492838e-11 2 | 0.2 0.2 0 1.76790111780109e-12 3.92769530686363e-11 -4.10448541864373e-11 3 | 0.2 0.3 0 8.29440474563106e-13 4.02988639382415e-11 -4.11283044128046e-11 4 | 0.2 0.4 0 1.77799860664362e-13 4.10155954770909e-11 -4.11933953377552e-11 5 | 0.2 0.5 0 -4.10178845947641e-13 4.16668797933113e-11 -4.12567009473636e-11 6 | 0.2 0.6 0 -9.58869750951917e-13 4.22776712947004e-11 -4.13188015437485e-11 7 | 0.2 0.7 0 -1.47157984529168e-12 4.28514292585968e-11 -4.1379849413305e-11 8 | 0.2 0.8 0 -1.95595509638494e-12 4.33958610947571e-11 -4.14399059983721e-11 9 | 0.2 0.9 0 -2.41907105667073e-12 4.39180502544137e-11 -4.14989791977429e-11 10 | 0.2 1 0 -2.86497578549721e-12 4.4422068022118e-11 -4.15570922366208e-11 11 | 0.2 1.1 0 -3.29174038790131e-12 4.49060368120407e-11 -4.16142964241393e-11 12 | 0.2 1.2 0 -3.71438739113232e-12 4.53850746510826e-11 -4.16706872599501e-11 13 | 0.2 1.3 0 -4.12592809910364e-12 4.5852321329412e-11 -4.17263932303084e-11 14 | 0.2 1.4 0 -4.50660366279639e-12 4.62881525460738e-11 -4.17815488832775e-11 15 | 0.2 1.5 0 -4.86009299893353e-12 4.6696338557436e-11 -4.18362455585024e-11 16 | -------------------------------------------------------------------------------- /data/ic_vce_0.3.out: -------------------------------------------------------------------------------- 1 | 0.3 0.1 0 4.82324865023215e-11 1.74770702289435e-09 -1.79593950939667e-09 2 | 0.3 0.2 0 1.77504558561487e-11 1.81884910835402e-09 -1.83659956421017e-09 3 | 0.3 0.25 0 1.50174659377637e-11 1.82383693695718e-09 -1.83885440289494e-09 4 | 0.3 0.275 0 1.43670739398472e-11 1.82533287862205e-09 -1.83969995256189e-09 5 | 0.3 0.2875 0 1.41315345587935e-11 1.82596969447768e-09 -1.84010122903647e-09 6 | 0.3 0.3 0 1.39363978489433e-11 1.82655805514999e-09 -1.84049445299893e-09 7 | 0.3 0.3125 0 1.37713420547868e-11 1.82711081486443e-09 -1.84088215691922e-09 8 | 0.3 0.325 0 1.3628533560835e-11 1.82763738763318e-09 -1.84126592119401e-09 9 | 0.3 0.33125 0 1.35635695260357e-11 1.82789307977449e-09 -1.84145664930053e-09 10 | 0.3 0.3375 0 1.35020880597373e-11 1.82814464042532e-09 -1.84164672848505e-09 11 | 0.3 0.34375 0 1.34435874389382e-11 1.82839264076618e-09 -1.84183622820512e-09 12 | 0.3 0.35 0 1.33876384796624e-11 1.82863756571481e-09 -1.84202520419447e-09 13 | 0.3 0.35625 0 1.33338755184124e-11 1.82887981903429e-09 -1.8422136945527e-09 14 | 0.3 0.3625 0 1.32819880614617e-11 1.82911974925336e-09 -1.84240173731482e-09 15 | 0.3 0.375 0 1.31828304463523e-11 1.82959375853544e-09 -1.84277658898179e-09 16 | 0.3 0.3875 0 1.30885253507934e-11 1.83006140069492e-09 -1.84314992604571e-09 17 | 0.3 0.4 0 1.2997921994247e-11 1.83052394454015e-09 -1.84352186653439e-09 18 | 0.3 0.4125 0 1.29102221377207e-11 1.83098226695287e-09 -1.84389248909059e-09 19 | 0.3 0.425 0 1.28248750542767e-11 1.83143698549939e-09 -1.84426186055367e-09 20 | 0.3 0.4375 0 1.27414976184659e-11 1.83188852560298e-09 -1.84463002322145e-09 21 | 0.3 0.4625 0 1.25796144056895e-11 1.83278327470012e-09 -1.84536288910581e-09 22 | 0.3 0.4875 0 1.24229874400074e-11 1.83366836549557e-09 -1.84609135293557e-09 23 | 0.3 0.5125 0 1.22704407586532e-11 1.83454519931245e-09 -1.8468156400711e-09 24 | 0.3 0.5375 0 1.21210581754681e-11 1.83541489532409e-09 -1.84753595349956e-09 25 | 0.3 0.5625 0 1.19742372165754e-11 1.83627824349008e-09 -1.84825248070665e-09 26 | 0.3 0.5875 0 1.18297007120325e-11 1.83713569013558e-09 -1.84896539084762e-09 27 | 0.3 0.6125 0 1.16874386861479e-11 1.8379874050499e-09 -1.84967484373605e-09 28 | 0.3 0.625 0 1.16172081583629e-11 1.8384111090849e-09 -1.85002831724326e-09 29 | 0.3 0.63125 0 1.15823297202455e-11 1.83862241898724e-09 -1.85020474870748e-09 30 | 0.3 0.6375 0 1.15476134948524e-11 1.83883336373981e-09 -1.85038097723466e-09 31 | 0.3 0.64375 0 1.15130622384122e-11 1.83904394705194e-09 -1.85055700929036e-09 32 | 0.3 0.65 0 1.14786780719979e-11 1.83925416350982e-09 -1.85073284158181e-09 33 | 0.3 0.65625 0 1.14444623905227e-11 1.83946401448112e-09 -1.85090847687165e-09 34 | 0.3 0.6625 0 1.14104155919107e-11 1.83967350440313e-09 -1.85108391999504e-09 35 | 0.3 0.675 0 1.13428252877284e-11 1.84009140248752e-09 -1.85143422777525e-09 36 | 0.3 0.6875 0 1.12758900087644e-11 1.84050788438965e-09 -1.85178377439842e-09 37 | 0.3 0.7 0 1.1209577453824e-11 1.84092299472109e-09 -1.85213257217492e-09 38 | 0.3 0.7125 0 1.11438444886124e-11 1.84133678460114e-09 -1.85248062908975e-09 39 | 0.3 0.725 0 1.107864368392e-11 1.84174930848598e-09 -1.8528279521699e-09 40 | 0.3 0.7375 0 1.1013930392407e-11 1.84216061867647e-09 -1.85317454906888e-09 41 | 0.3 0.7625 0 1.08858350137172e-11 1.84297975452756e-09 -1.85386558954128e-09 42 | 0.3 0.7875 0 1.07594240889821e-11 1.84379435996857e-09 -1.85455378405755e-09 43 | 0.3 0.8125 0 1.06347384367426e-11 1.84460441843728e-09 -1.85523915687402e-09 44 | 0.3 0.8375 0 1.05118758990886e-11 1.84540984579183e-09 -1.85592172169092e-09 45 | 0.3 0.8625 0 1.03908566716755e-11 1.84621062684083e-09 -1.8566014835125e-09 46 | 0.3 0.8875 0 1.02715563852649e-11 1.84700688961867e-09 -1.85727844600394e-09 47 | 0.3 0.9375 0 1.00370765893586e-11 1.84858691133422e-09 -1.85862398792358e-09 48 | 0.3 0.95 0 9.97911296445795e-12 1.84897951809435e-09 -1.85895863105881e-09 49 | 0.3 0.9625 0 9.92136202111608e-12 1.84937121565419e-09 -1.85929257767531e-09 50 | 0.3 0.975 0 9.8638149453896e-12 1.84976201741168e-09 -1.85962583235707e-09 51 | 0.3 0.9875 0 9.80647422872334e-12 1.85015192379975e-09 -1.85995839802847e-09 52 | 0.3 1 0 9.74935327992586e-12 1.85054092085679e-09 -1.86029027413672e-09 53 | 0.3 1.0125 0 9.69247485004377e-12 1.85092898836675e-09 -1.8606214632168e-09 54 | 0.3 1.0375 0 9.57956595753988e-12 1.85170223899151e-09 -1.86128180494905e-09 55 | 0.3 1.0625 0 9.46799266160304e-12 1.85247145334039e-09 -1.861939446002e-09 56 | 0.3 1.075 0 9.41276378773845e-12 1.85285450216777e-09 -1.86226726595551e-09 57 | 0.3 1.0875 0 9.35791682052928e-12 1.85323651149854e-09 -1.86259442831906e-09 58 | 0.3 1.1 0 9.30344301527368e-12 1.85361749251573e-09 -1.86292093553101e-09 59 | 0.3 1.1125 0 9.24932017664539e-12 1.85399747419011e-09 -1.86324679436675e-09 60 | 0.3 1.125 0 9.19551414186719e-12 1.85437649793247e-09 -1.86357201207434e-09 61 | 0.3 1.1375 0 9.14198123033582e-12 1.85475461409877e-09 -1.86389659532911e-09 62 | 0.3 1.1625 0 9.03553344723008e-12 1.85550835472032e-09 -1.86454388816755e-09 63 | 0.3 1.1875 0 8.92957509037771e-12 1.85625916306525e-09 -1.86518873815563e-09 64 | 0.3 1.2125 0 8.82378477000928e-12 1.85700744074137e-09 -1.86583122551138e-09 65 | 0.3 1.2375 0 8.71799988457357e-12 1.85775343099263e-09 -1.8664714308772e-09 66 | 0.3 1.2625 0 8.6122362160025e-12 1.85849720888541e-09 -1.86710944510141e-09 67 | 0.3 1.2875 0 8.50665877974103e-12 1.85923870146731e-09 -1.86774536024705e-09 68 | 0.3 1.3375 0 8.29721468696329e-12 1.86071409367056e-09 -1.86901130835752e-09 69 | 0.3 1.3875 0 8.0925366416776e-12 1.8621775305438e-09 -1.87027006718547e-09 70 | 0.3 1.4375 0 7.89552885120878e-12 1.86362686345234e-09 -1.87152239230355e-09 71 | 0.3 1.4875 0 7.70748772704466e-12 1.86506144447272e-09 -1.87276893219977e-09 72 | 0.3 1.5 0 7.66179578892545e-12 1.86541792684132e-09 -1.87307972263025e-09 73 | -------------------------------------------------------------------------------- /data/ic_vce_0.5.out: -------------------------------------------------------------------------------- 1 | 0.5 0.00625 0 2.60636900991245e-07 5.76908897741054e-07 -8.37545798732299e-07 2 | 0.5 0.0125 0 2.06597251388198e-07 1.28736688372142e-06 -1.49396413510962e-06 3 | 0.5 0.015625 0 1.84021840095565e-07 1.58336783321038e-06 -1.76738967330595e-06 4 | 0.5 0.01875 0 1.63969110636153e-07 1.84580075491492e-06 -2.00976986555108e-06 5 | 0.5 0.0203125 0 1.54798752249374e-07 1.96563791307755e-06 -2.12043666532692e-06 6 | 0.5 0.021875 0 1.46155215880715e-07 2.07847745710783e-06 -2.22463267298854e-06 7 | 0.5 0.0234375 0 1.38007998579081e-07 2.18472864473661e-06 -2.32273664331569e-06 8 | 0.5 0.025 0 1.30328371284032e-07 2.28477679112457e-06 -2.41510516240861e-06 9 | 0.5 0.0265625 0 1.23089275519202e-07 2.37898466943428e-06 -2.50207394495348e-06 10 | 0.5 0.028125 0 1.16265225821603e-07 2.46769383007412e-06 -2.58395905589572e-06 11 | 0.5 0.03125 0 1.03767643733688e-07 2.62988346255462e-06 -2.73365110628831e-06 12 | 0.5 0.034375 0 9.2659851203412e-08 2.7736990344957e-06 -2.86635888569912e-06 13 | 0.5 0.0375 0 8.27859058629753e-08 2.90122660256865e-06 -2.98401250843162e-06 14 | 0.5 0.03828125 0 8.0493637728772e-08 2.93078499699671e-06 -3.01127863472548e-06 15 | 0.5 0.0390625 0 7.82677592130619e-08 2.95946873527677e-06 -3.03773649448982e-06 16 | 0.5 0.03984375 0 7.61063266453239e-08 2.98730377320132e-06 -3.06341009984664e-06 17 | 0.5 0.040625 0 7.40074535974434e-08 3.01431529597035e-06 -3.08832274956779e-06 18 | 0.5 0.04140625 0 7.19693092207204e-08 3.04052774103618e-06 -3.1124970502569e-06 19 | 0.5 0.0421875 0 6.99901165766887e-08 3.06596482032646e-06 -3.13595493690315e-06 20 | 0.5 0.04375 0 6.62017388268924e-08 3.11460423027536e-06 -3.18080596910226e-06 21 | 0.5 0.0453125 0 6.26291238265568e-08 3.16040951358413e-06 -3.22303863741069e-06 22 | 0.5 0.046875 0 5.9259840575555e-08 3.20354636352447e-06 -3.26280620410002e-06 23 | 0.5 0.0484375 0 5.60821790544101e-08 3.24417078118476e-06 -3.30025296023917e-06 24 | 0.5 0.05 0 5.30851082066312e-08 3.28242964256372e-06 -3.33551475077035e-06 25 | 0.5 0.0515625 0 5.025823639539e-08 3.31846123251288e-06 -3.36871946890827e-06 26 | 0.5 0.0546875 0 4.50764998905009e-08 3.38435576754846e-06 -3.42943226743896e-06 27 | 0.5 0.05546875 0 4.38728230025242e-08 3.39963167679568e-06 -3.44350449979819e-06 28 | 0.5 0.05625 0 4.27037250276764e-08 3.41445670482091e-06 -3.45716042984859e-06 29 | 0.5 0.05703125 0 4.15681983570602e-08 3.42884422653915e-06 -3.47041242489621e-06 30 | 0.5 0.0578125 0 4.04652649617431e-08 3.44280721986531e-06 -3.48327248482706e-06 31 | 0.5 0.05859375 0 3.93939755402856e-08 3.45635827748512e-06 -3.4957522530254e-06 32 | 0.5 0.059375 0 3.83534086839821e-08 3.469509618262e-06 -3.50786302694598e-06 33 | 0.5 0.06015625 0 3.73426700556152e-08 3.48227309835299e-06 -3.51961576840861e-06 34 | 0.5 0.060546875 0 3.68482140390251e-08 3.48851299916943e-06 -3.52536121320845e-06 35 | 0.5 0.0609375 0 3.63608915501531e-08 3.49466022199822e-06 -3.53102111354837e-06 36 | 0.5 0.061328125 0 3.58805980619488e-08 3.50071615157221e-06 -3.53659674963416e-06 37 | 0.5 0.06171875 0 3.54072305839332e-08 3.5066821519438e-06 -3.54208938252774e-06 38 | 0.5 0.062109375 0 3.49406876480365e-08 3.51255956676611e-06 -3.54750025441414e-06 39 | 0.5 0.0625 0 3.44808692792262e-08 3.51834971960778e-06 -3.552830588887e-06 40 | 0.5 0.06328125 0 3.35810137453977e-08 3.5296734349135e-06 -3.5632544486589e-06 41 | 0.5 0.0640625 0 3.27068934193453e-08 3.54066349581958e-06 -3.57337038923893e-06 42 | 0.5 0.06484375 0 3.18577603289947e-08 3.55132979758697e-06 -3.58318755791597e-06 43 | 0.5 0.065625 0 3.10328884667541e-08 3.56168194176705e-06 -3.59271483023381e-06 44 | 0.5 0.06640625 0 3.02315731006644e-08 3.57172924492696e-06 -3.60196081802762e-06 45 | 0.5 0.0671875 0 2.94531301656276e-08 3.58148074712036e-06 -3.61093387728599e-06 46 | 0.5 0.06875 0 2.79622250260852e-08 3.60013117522151e-06 -3.62809340024759e-06 47 | 0.5 0.0703125 0 2.65550911780037e-08 3.61770032199879e-06 -3.64425541317679e-06 48 | 0.5 0.071875 0 2.52269402487571e-08 3.63425135972442e-06 -3.65947829997318e-06 49 | 0.5 0.0734374999999999 0 2.39732602966044e-08 3.64984376664094e-06 -3.67381702693754e-06 50 | 0.5 0.0749999999999999 0 2.27897998058273e-08 3.66453354298228e-06 -3.68732334278811e-06 51 | 0.5 0.0765624999999999 0 2.16725525415389e-08 3.67837341447007e-06 -3.70004596701161e-06 52 | 0.5 0.0781249999999999 0 2.06177432990963e-08 3.69141302390188e-06 -3.71203076720098e-06 53 | 0.5 0.0796874999999999 0 1.96218145576867e-08 3.70369911141656e-06 -3.72332092597424e-06 54 | 0.5 0.0812499999999999 0 1.86814137192267e-08 3.71527568443674e-06 -3.73395709815597e-06 55 | 0.5 0.0828124999999999 0 1.77933813476386e-08 3.72618417739328e-06 -3.74397755874092e-06 56 | 0.5 0.0843749999999999 0 1.69547400006938e-08 3.73646360220485e-06 -3.75341834220554e-06 57 | 0.5 0.0859374999999999 0 1.61626834505947e-08 3.74615069022674e-06 -3.76231337367734e-06 58 | 0.5 0.0890624999999999 0 1.47078980691568e-08 3.76388416980551e-06 -3.77859206787467e-06 59 | 0.5 0.0906249999999999 0 1.40403273219677e-08 3.77199378226247e-06 -3.78603410958444e-06 60 | 0.5 0.0921874999999999 0 1.34096403980982e-08 3.77963772933795e-06 -3.79304736973606e-06 61 | 0.5 0.0937499999999999 0 1.28137500303239e-08 3.786843190392e-06 -3.79965694042232e-06 62 | 0.5 0.0953124999999999 0 1.22506888835502e-08 3.79363575600657e-06 -3.80588644489012e-06 63 | 0.5 0.0968749999999999 0 1.1718602387123e-08 3.80003952119816e-06 -3.81175812358528e-06 64 | 0.5 0.0984374999999999 0 1.12157423155516e-08 3.80607717271554e-06 -3.81729291503109e-06 65 | 0.5 0.1015625 0 1.02912038671232e-08 3.81713832976967e-06 -3.8274295336368e-06 66 | 0.5 0.1046875 0 9.46498971000867e-09 3.82697556800299e-06 -3.836440557713e-06 67 | 0.5 0.1078125 0 8.72635920806367e-09 3.83572749064976e-06 -3.84445384985782e-06 68 | 0.5 0.1109375 0 8.065764206651e-09 3.84351697731186e-06 -3.85158274151851e-06 69 | 0.5 0.1140625 0 7.47471532561697e-09 3.85045296916098e-06 -3.8579276844866e-06 70 | 0.5 0.1171875 0 6.94566332840505e-09 3.85663205130835e-06 -3.86357771463675e-06 71 | 0.5 0.1234375 0 6.04743509129826e-09 3.86705230267512e-06 -3.87309973776642e-06 72 | 0.5 0.1265625 0 5.66697245210294e-09 3.87143670699566e-06 -3.87710367944777e-06 73 | 0.5 0.1296875 0 5.32577743125379e-09 3.87535275100952e-06 -3.88067852844077e-06 74 | 0.5 0.1328125 0 5.01964118975035e-09 3.87885335255588e-06 -3.88387299374562e-06 75 | 0.5 0.1359375 0 4.74481692182173e-09 3.88198543216829e-06 -3.88673024909012e-06 76 | 0.5 0.1375 0 4.61808938517123e-09 3.88342646821748e-06 -3.88804455760265e-06 77 | 0.5 0.1390625 0 4.49796821268078e-09 3.88479059385614e-06 -3.88928856206881e-06 78 | 0.5 0.140625 0 4.38409300251171e-09 3.88608227781553e-06 -3.89046637081803e-06 79 | 0.5 0.1421875 0 4.27612361272887e-09 3.88730572809748e-06 -3.89158185171021e-06 80 | 0.5 0.14375 0 4.17373896202735e-09 3.88846490724995e-06 -3.89263864621198e-06 81 | 0.5 0.1453125 0 4.0766359430417e-09 3.88956354673165e-06 -3.89364018267469e-06 82 | 0.5 0.1484375 0 3.8971462831737e-09 3.89159305707849e-06 -3.89549020336166e-06 83 | 0.5 0.1515625 0 3.73555218753645e-09 3.89341998193431e-06 -3.89715553412184e-06 84 | 0.5 0.1546875 0 3.58997917965894e-09 3.89506713223886e-06 -3.89865711141852e-06 85 | 0.5 0.15625 0 3.52267089926313e-09 3.89582970618674e-06 -3.899352377086e-06 86 | 0.5 0.1578125 0 3.45875558613976e-09 3.89655473727256e-06 -3.9000134928587e-06 87 | 0.5 0.159375 0 3.39805232763764e-09 3.89724439876132e-06 -3.90064245108895e-06 88 | 0.5 0.16015625 0 3.36885140989679e-09 3.89757661025402e-06 -3.90094546166391e-06 89 | 0.5 0.1609375 0 3.3403901427235e-09 3.89790073738357e-06 -3.90124112752629e-06 90 | 0.5 0.16171875 0 3.31264863961134e-09 3.89821701741641e-06 -3.90152966605602e-06 91 | 0.5 0.1625 0 3.28560755960682e-09 3.89852568060907e-06 -3.90181128816868e-06 92 | 0.5 0.16328125 0 3.25924811371807e-09 3.89882695038953e-06 -3.90208619850325e-06 93 | 0.5 0.1640625 0 3.23355203077381e-09 3.89912104361766e-06 -3.90235459564843e-06 94 | 0.5 0.165625 0 3.18407944195978e-09 3.8996885358842e-06 -3.90287261532615e-06 95 | 0.5 0.1671875 0 3.13705352573454e-09 3.90022976742807e-06 -3.9033668209538e-06 96 | 0.5 0.16875 0 3.09234555122751e-09 3.90074625450688e-06 -3.9038386000581e-06 97 | 0.5 0.1703125 0 3.0498339162205e-09 3.90123942504625e-06 -3.90428925896248e-06 98 | 0.5 0.171875 0 3.00940353491105e-09 3.90171062404068e-06 -3.9047200275756e-06 99 | 0.5 0.1734375 0 2.9709457264574e-09 3.90216111810422e-06 -3.90513206383067e-06 100 | 0.5 0.1765625 0 2.89954229835591e-09 3.9030046939331e-06 -3.90590423623146e-06 101 | 0.5 0.1796875 0 2.83486688470357e-09 3.90377888759574e-06 -3.90661375448045e-06 102 | 0.5 0.1828125 0 2.77624255955722e-09 3.90449144811731e-06 -3.90726769067687e-06 103 | 0.5 0.1859375 0 2.72306389143776e-09 3.90514924985451e-06 -3.90787231374595e-06 104 | 0.5 0.1890625 0 2.67478908830174e-09 3.90575839155947e-06 -3.90843318064778e-06 105 | 0.5 0.1921875 0 2.63093276945986e-09 3.90632428457458e-06 -3.90895521734404e-06 106 | 0.5 0.1984375 0 2.55478190485805e-09 3.90734498898827e-06 -3.90989977089313e-06 107 | 0.5 0.2046875 0 2.49164663302327e-09 3.90824364340948e-06 -3.91073529004251e-06 108 | 0.5 0.2109375 0 2.43914095201805e-09 3.9090456722172e-06 -3.91148481316922e-06 109 | 0.5 0.2171875 0 2.39534056824239e-09 3.90977110633029e-06 -3.91216644689853e-06 110 | 0.5 0.21875 0 2.38556144192041e-09 3.90994242644403e-06 -3.91232798788595e-06 111 | 0.5 0.2203125 0 2.37620657034755e-09 3.91011017348019e-06 -3.91248638005054e-06 112 | 0.5 0.221875 0 2.36725585937765e-09 3.91027454646594e-06 -3.91264180232532e-06 113 | 0.5 0.2234375 0 2.35869022626113e-09 3.91043573296279e-06 -3.91279442318905e-06 114 | 0.5 0.22421875 0 2.35454611512168e-09 3.91051518691746e-06 -3.91286973303259e-06 115 | 0.5 0.225 0 2.35049155367921e-09 3.91059390972769e-06 -3.91294440128136e-06 116 | 0.5 0.22578125 0 2.34652442699055e-09 3.91067192189346e-06 -3.91301844632044e-06 117 | 0.5 0.2265625 0 2.34264266782252e-09 3.91074924332831e-06 -3.91309188599613e-06 118 | 0.5 0.22734375 0 2.33884426342959e-09 3.91082589336138e-06 -3.9131647376248e-06 119 | 0.5 0.228125 0 2.33512725228317e-09 3.91090189075261e-06 -3.9132370180049e-06 120 | 0.5 0.2296875 0 2.32792979793484e-09 3.91105199996169e-06 -3.91337992975962e-06 121 | 0.5 0.23125 0 2.32103558312974e-09 3.91119971043464e-06 -3.91352074601777e-06 122 | 0.5 0.2328125 0 2.31443060917209e-09 3.91134515361855e-06 -3.91365958422772e-06 123 | 0.5 0.234375 0 2.30810160887459e-09 3.91148845340332e-06 -3.9137965550122e-06 124 | 0.5 0.2359375 0 2.30203595283033e-09 3.91162972657268e-06 -3.91393176252553e-06 125 | 0.5 0.2375 0 2.29622162738886e-09 3.9117690832462e-06 -3.91406530487359e-06 126 | 0.5 0.240625 0 2.28530193165074e-09 3.91204245626901e-06 -3.91432775820067e-06 127 | 0.5 0.24375 0 2.27525779722707e-09 3.91230933350848e-06 -3.91458459130571e-06 128 | 0.5 0.246875 0 2.26601262700396e-09 3.91257039143109e-06 -3.9148364040581e-06 129 | 0.5 0.25 0 2.25749705977372e-09 3.91282623148071e-06 -3.91508372854049e-06 130 | 0.5 0.2515625 0 2.2534930077475e-09 3.91295236432315e-06 -3.9152058573309e-06 131 | 0.5 0.253125 0 2.24964826607982e-09 3.91307738847778e-06 -3.91532703674386e-06 132 | 0.5 0.2546875 0 2.24595589289762e-09 3.91320136161405e-06 -3.91544731750694e-06 133 | 0.5 0.25625 0 2.2424092836752e-09 3.91332433812616e-06 -3.91556674740983e-06 134 | 0.5 0.2578125 0 2.23900214122587e-09 3.91344636931657e-06 -3.91568537145778e-06 135 | 0.5 0.259375 0 2.23572846636901e-09 3.91356750358681e-06 -3.91580323205318e-06 136 | 0.5 0.2625 0 2.22955889933448e-09 3.91380726143453e-06 -3.91603682033386e-06 137 | 0.5 0.2640625 0 2.22665236163499e-09 3.9139259687376e-06 -3.91615262109924e-06 138 | 0.5 0.26484375 0 2.22524144674247e-09 3.91398504663073e-06 -3.91621028807748e-06 139 | 0.5 0.265625 0 2.22385796689711e-09 3.91404394684796e-06 -3.91626780481485e-06 140 | 0.5 0.26640625 0 2.22250133675082e-09 3.91410267385348e-06 -3.91632517519024e-06 141 | 0.5 0.2671875 0 2.22117098774156e-09 3.9141612319745e-06 -3.91638240296225e-06 142 | 0.5 0.267578125 0 2.22051549458274e-09 3.91419044901846e-06 -3.91641096451305e-06 143 | 0.5 0.26796875 0 2.21986636420936e-09 3.91421962540503e-06 -3.91643949176923e-06 144 | 0.5 0.268359375 0 2.21922352873546e-09 3.91424876165043e-06 -3.91646798517916e-06 145 | 0.5 0.26875 0 2.21858692111115e-09 3.9142778582446e-06 -3.91649644516571e-06 146 | 0.5 0.269140625 0 2.21795647513081e-09 3.91430691568404e-06 -3.91652487215918e-06 147 | 0.5 0.26953125 0 2.21733212566047e-09 3.91433593446103e-06 -3.91655326658669e-06 148 | 0.5 0.2703125 0 2.21610145923366e-09 3.91439385790565e-06 -3.91660995936487e-06 149 | 0.5 0.27109375 0 2.21489441708233e-09 3.91445163232767e-06 -3.91666652674475e-06 150 | 0.5 0.271484375 0 2.21429960038646e-09 3.91448046479785e-06 -3.91669476439823e-06 151 | 0.5 0.271875 0 2.21371050434649e-09 3.91450926137219e-06 -3.91672297187654e-06 152 | 0.5 0.272265625 0 2.21312706870211e-09 3.91453802248604e-06 -3.91675114955475e-06 153 | 0.5 0.27265625 0 2.21254923416321e-09 3.91456674856863e-06 -3.9167792978028e-06 154 | 0.5 0.273046875 0 2.21197694221993e-09 3.91459544005465e-06 -3.91680741699687e-06 155 | 0.5 0.2734375 0 2.21141013481907e-09 3.91462409736407e-06 -3.91683550749888e-06 156 | 0.5 0.27421875 0 2.21029274400623e-09 3.91468131108624e-06 -3.91689160383024e-06 157 | 0.5 0.274609375 0 2.2097420480963e-09 3.91470986831465e-06 -3.91691961036274e-06 158 | 0.5 0.275 0 2.20919661088967e-09 3.91473839298411e-06 -3.91694758959501e-06 159 | 0.5 0.275390625 0 2.20865637756254e-09 3.91476688548715e-06 -3.91697554186471e-06 160 | 0.5 0.27578125 0 2.20812129379532e-09 3.91479534620756e-06 -3.91700346750136e-06 161 | 0.5 0.276171875 0 2.20759130604546e-09 3.91482377553436e-06 -3.91703136684041e-06 162 | 0.5 0.2765625 0 2.20706636214949e-09 3.91485217383485e-06 -3.917059240197e-06 163 | 0.5 0.27734375 0 2.20603139712541e-09 3.91490887882042e-06 -3.91711491021754e-06 164 | 0.5 0.278125 0 2.20501598435673e-09 3.91496546406774e-06 -3.9171704800521e-06 165 | 0.5 0.27890625 0 2.20401972353579e-09 3.91502193237935e-06 -3.91722595210289e-06 166 | 0.5 0.279296875 0 2.20352865105117e-09 3.91505012354742e-06 -3.91725365219847e-06 167 | 0.5 0.2796875 0 2.20304221914519e-09 3.91507828649959e-06 -3.91728132871873e-06 168 | 0.5 0.280078125 0 2.20256038005254e-09 3.91510642156746e-06 -3.91730898194751e-06 169 | 0.5 0.280468749999999 0 2.20208308645126e-09 3.91513452907492e-06 -3.91733661216137e-06 170 | 0.5 0.280859374999999 0 2.20161029183407e-09 3.91516260934731e-06 -3.91736421963914e-06 171 | 0.5 0.281249999999999 0 2.20114194991498e-09 3.91519066269149e-06 -3.91739180464142e-06 172 | 0.5 0.282031249999999 0 2.20021844248794e-09 3.91524668984944e-06 -3.91744690829192e-06 173 | 0.5 0.282812499999999 0 2.19931220427213e-09 3.91530261298322e-06 -3.91750192518748e-06 174 | 0.5 0.283593749999999 0 2.19842288461443e-09 3.91535843447056e-06 -3.91755685735517e-06 175 | 0.5 0.284374999999999 0 2.19755014059467e-09 3.91541415661054e-06 -3.91761170675113e-06 176 | 0.5 0.28515625 0 2.19669363695543e-09 3.91546978163291e-06 -3.91766647526987e-06 177 | 0.5 0.2859375 0 2.19585304551854e-09 3.91552531171338e-06 -3.91772116475889e-06 178 | 0.5 0.2875 0 2.19421832184763e-09 3.91563609546109e-06 -3.91783031378293e-06 179 | 0.5 0.2890625 0 2.19264348402576e-09 3.91574652406063e-06 -3.91793916754465e-06 180 | 0.5 0.290625 0 2.19112615718995e-09 3.91585661281803e-06 -3.91804773897523e-06 181 | 0.5 0.2921875 0 2.18966407173104e-09 3.91596637622866e-06 -3.9181560403004e-06 182 | 0.5 0.29375 0 2.18825505435447e-09 3.91607582796371e-06 -3.91826408301806e-06 183 | 0.5 0.2953125 0 2.18689702002989e-09 3.9161849809603e-06 -3.91837187798033e-06 184 | 0.5 0.2984375 0 2.18432602549836e-09 3.91640243901184e-06 -3.91858676503734e-06 185 | 0.5 0.3015625 0 2.1819361560887e-09 3.91661884045541e-06 -3.9188007766115e-06 186 | 0.5 0.3046875 0 2.17971371312983e-09 3.9168342658927e-06 -3.91901397960583e-06 187 | 0.5 0.3078125 0 2.17764612278063e-09 3.91704878747682e-06 -3.91922643359961e-06 188 | 0.5 0.3109375 0 2.17572183937299e-09 3.91726246984036e-06 -3.91943819167972e-06 189 | 0.5 0.3140625 0 2.17393024758565e-09 3.91747537093372e-06 -3.9196493011813e-06 190 | 0.5 0.3203125 0 2.170706867862e-09 3.91789903192925e-06 -3.92006973879712e-06 191 | 0.5 0.3234375 0 2.16925781669971e-09 3.91810988045974e-06 -3.92027913827644e-06 192 | 0.5 0.3265625 0 2.16790680581636e-09 3.91832012605506e-06 -3.92048803286088e-06 193 | 0.5 0.3296875 0 2.16664679836863e-09 3.91852980268845e-06 -3.92069644948682e-06 194 | 0.5 0.3328125 0 2.16547130372712e-09 3.91873894097246e-06 -3.92090441227619e-06 195 | 0.5 0.3359375 0 2.16437432581527e-09 3.91894756853108e-06 -3.92111194285688e-06 196 | 0.5 0.339062499999999 0 2.16335032664609e-09 3.91915571031394e-06 -3.92131906064059e-06 197 | 0.5 0.345312499999999 0 2.16150116157437e-09 3.91957062469178e-06 -3.92173212585335e-06 198 | 0.5 0.351562499999999 0 2.15988725889788e-09 3.91998384036501e-06 -3.92214372762391e-06 199 | 0.5 0.357812499999999 0 2.15847727055678e-09 3.92039548619517e-06 -3.92255396346572e-06 200 | 0.5 0.364062499999999 0 2.15724425594109e-09 3.92080566904992e-06 -3.92296291330586e-06 201 | 0.5 0.370312499999999 0 2.15616501367127e-09 3.9212144781433e-06 -3.92337064315696e-06 202 | 0.5 0.376562499999999 0 2.15521952463848e-09 3.92162198851501e-06 -3.92377720803963e-06 203 | 0.5 0.389062499999999 0 2.15366291137152e-09 3.92243335814383e-06 -3.9245870210552e-06 204 | 0.5 0.395312499999999 0 2.15302381009481e-09 3.92283731848457e-06 -3.92499034229466e-06 205 | 0.5 0.401562499999999 0 2.15246189472958e-09 3.92324018541563e-06 -3.92539264731036e-06 206 | 0.5 0.407812499999999 0 2.15196734890138e-09 3.92364199454517e-06 -3.92579396189407e-06 207 | 0.5 0.414062499999999 0 2.15153162274762e-09 3.92404277738282e-06 -3.92619430900557e-06 208 | 0.5 0.420312499999999 0 2.15114726055695e-09 3.92444256200177e-06 -3.92659370926234e-06 209 | 0.5 0.426562499999999 0 2.1508077530434e-09 3.92484137366553e-06 -3.92699218141858e-06 210 | 0.5 0.432812499999999 0 2.15050741129531e-09 3.92523923527937e-06 -3.92738974269067e-06 211 | 0.5 0.439062499999999 0 2.15024125846322e-09 3.9256361677535e-06 -3.92778640901197e-06 212 | 0.5 0.445312499999999 0 2.15000493714732e-09 3.92603219036202e-06 -3.92818219529917e-06 213 | 0.5 0.451562499999999 0 2.14979462953207e-09 3.9264273209154e-06 -3.92857711554493e-06 214 | 0.5 0.457812499999999 0 2.14960698887804e-09 3.92682157605986e-06 -3.92897118304874e-06 215 | 0.5 0.464062499999999 0 2.14943908010503e-09 3.92721497136687e-06 -3.92936441044696e-06 216 | 0.5 0.476562499999999 0 2.1491524797171e-09 3.92799924042711e-06 -3.93014839290682e-06 217 | 0.5 0.482812499999999 0 2.14902955254573e-09 3.92839014128798e-06 -3.93053917084052e-06 218 | 0.5 0.489062499999999 0 2.14891781526185e-09 3.92878023669366e-06 -3.93092915450893e-06 219 | 0.5 0.495312499999999 0 2.14881575173575e-09 3.92916953871467e-06 -3.93131835446641e-06 220 | 0.5 0.501562499999999 0 2.14872203775056e-09 3.92955805892381e-06 -3.93170678096158e-06 221 | 0.5 0.507812499999999 0 2.14863551833838e-09 3.92994580845566e-06 -3.93209444397399e-06 222 | 0.5 0.514062499999999 0 2.14855518853235e-09 3.93033279807029e-06 -3.93248135325883e-06 223 | 0.5 0.526562499999999 0 2.14840972602568e-09 3.93110453880633e-06 -3.93325294853236e-06 224 | 0.5 0.539062499999999 0 2.14827999833379e-09 3.93187336061046e-06 -3.93402164060879e-06 225 | 0.5 0.551562499999999 0 2.14816182192206e-09 3.93263933864964e-06 -3.93478750047155e-06 226 | 0.5 0.564062499999999 0 2.14805214311737e-09 3.93340254445021e-06 -3.93555059659334e-06 227 | 0.5 0.570312499999999 0 2.14799977644134e-09 3.933783129255e-06 -3.93593112903143e-06 228 | 0.5 0.571874999999999 0 2.14798690392018e-09 3.93387817082634e-06 -3.93602615773027e-06 229 | 0.5 0.573437499999999 0 2.14797411285951e-09 3.93397317079497e-06 -3.93612114490784e-06 230 | 0.5 0.574999999999999 0 2.1479614005923e-09 3.934068129295e-06 -3.93621609069559e-06 231 | 0.5 0.576562499999999 0 2.14794876439663e-09 3.93416304645128e-06 -3.93631099521569e-06 232 | 0.5 0.577343749999999 0 2.14794247400164e-09 3.934210489569e-06 -3.93635843204301e-06 233 | 0.5 0.578124999999999 0 2.14793620167998e-09 3.93425792239313e-06 -3.93640585859481e-06 234 | 0.5 0.578906249999999 0 2.1479299470991e-09 3.93430534495375e-06 -3.93645327490086e-06 235 | 0.5 0.579687499999999 0 2.14792371003884e-09 3.93435275724829e-06 -3.93650068095834e-06 236 | 0.5 0.580468749999999 0 2.14791749008843e-09 3.93440015930664e-06 -3.93654807679674e-06 237 | 0.5 0.581249999999999 0 2.14791128696379e-09 3.93444755113739e-06 -3.93659546242436e-06 238 | 0.5 0.582812499999999 0 2.14789893037692e-09 3.93454230418562e-06 -3.93669020311599e-06 239 | 0.5 0.584374999999999 0 2.14788663805904e-09 3.93463701652317e-06 -3.93678490316121e-06 240 | 0.5 0.585937499999999 0 2.14787440795708e-09 3.93473168826528e-06 -3.93687956267323e-06 241 | 0.5 0.587499999999999 0 2.14786223812829e-09 3.93482631953272e-06 -3.93697418177083e-06 242 | 0.5 0.589062499999999 0 2.1478501266701e-09 3.93492091046187e-06 -3.93706876058853e-06 243 | 0.5 0.590624999999999 0 2.14783807182414e-09 3.93501546116415e-06 -3.93716329923597e-06 244 | 0.5 0.593749999999999 0 2.14781412513924e-09 3.93520444238449e-06 -3.93735225650964e-06 245 | 0.5 0.596874999999999 0 2.14779038537286e-09 3.93539326416692e-06 -3.93754105455231e-06 246 | 0.5 0.599999999999999 0 2.14776684071099e-09 3.93558192747232e-06 -3.93772969431304e-06 247 | 0.5 0.603124999999999 0 2.14774348072583e-09 3.9357704332519e-06 -3.93791817673262e-06 248 | 0.5 0.606249999999999 0 2.14772029570545e-09 3.93595878245472e-06 -3.93810650275042e-06 249 | 0.5 0.609374999999999 0 2.14769727683461e-09 3.93614697601803e-06 -3.93829467329487e-06 250 | 0.5 0.615624999999999 0 2.14765170618987e-09 3.93652289996499e-06 -3.93867055167117e-06 251 | 0.5 0.618749999999999 0 2.14762914041356e-09 3.93671063218522e-06 -3.93885826132564e-06 252 | 0.5 0.621874999999999 0 2.14760671273973e-09 3.93689821247093e-06 -3.93904581918367e-06 253 | 0.5 0.624999999999999 0 2.14758441738834e-09 3.93708564172518e-06 -3.93923322614256e-06 254 | 0.5 0.628124999999999 0 2.14756224944122e-09 3.9372729208461e-06 -3.93942048309554e-06 255 | 0.5 0.631249999999999 0 2.14754020397376e-09 3.93746005074318e-06 -3.93960759094715e-06 256 | 0.5 0.634374999999999 0 2.14751827677296e-09 3.93764703229377e-06 -3.93979455057054e-06 257 | 0.5 0.640624999999999 0 2.14747476100864e-09 3.93802055392903e-06 -3.94016802869004e-06 258 | 0.5 0.646874999999999 0 2.14743167282997e-09 3.93839349276889e-06 -3.94054092444172e-06 259 | 0.5 0.649999999999999 0 2.14741028088246e-09 3.93857974581795e-06 -3.94072715609883e-06 260 | 0.5 0.653124999999999 0 2.14738898637173e-09 3.93876585576942e-06 -3.94091324475579e-06 261 | 0.5 0.656249999999999 0 2.14736778631164e-09 3.93895182347134e-06 -3.94109919125766e-06 262 | 0.5 0.659374999999999 0 2.14734667810202e-09 3.93913764978619e-06 -3.9412849964643e-06 263 | 0.5 0.662499999999999 0 2.14732565908408e-09 3.93932333554883e-06 -3.94147066120791e-06 264 | 0.5 0.665624999999999 0 2.147304726711e-09 3.93950888160607e-06 -3.94165618633278e-06 265 | 0.5 0.671874999999999 0 2.14726311210735e-09 3.93987955793103e-06 -3.94202682104313e-06 266 | 0.5 0.678124999999999 0 2.14722181538839e-09 3.9402496853873e-06 -3.94239690720269e-06 267 | 0.5 0.684374999999999 0 2.14718081868776e-09 3.9406192705225e-06 -3.94276645134119e-06 268 | 0.5 0.690624999999999 0 2.14714010478975e-09 3.94098831979573e-06 -3.94313545990052e-06 269 | 0.5 0.693749999999999 0 2.1471198488813e-09 3.94117264548192e-06 -3.94331976533081e-06 270 | 0.5 0.696874999999999 0 2.14709965774598e-09 3.94135683959383e-06 -3.94350393925157e-06 271 | 0.5 0.7 0 2.14707952948659e-09 3.94154090290996e-06 -3.94368798243944e-06 272 | 0.5 0.7015625 0 2.14706948837751e-09 3.9416328857692e-06 -3.94377995525758e-06 273 | 0.5 0.703125 0 2.14705946231868e-09 3.9417248362177e-06 -3.94387189568002e-06 274 | 0.5 0.7046875 0 2.14704945114852e-09 3.94181675435627e-06 -3.94396380380742e-06 275 | 0.5 0.70625 0 2.14703945455461e-09 3.94190864028291e-06 -3.94405567973746e-06 276 | 0.5 0.7078125 0 2.14702947233545e-09 3.94200049409401e-06 -3.94414752356634e-06 277 | 0.5 0.709375 0 2.14701950443364e-09 3.94209231588675e-06 -3.94423933539119e-06 278 | 0.5 0.7125 0 2.14699961036312e-09 3.94227586378014e-06 -3.94442286339051e-06 279 | 0.5 0.715625 0 2.14697977092074e-09 3.94245928472207e-06 -3.94460626449299e-06 280 | 0.5 0.71875 0 2.14695998461684e-09 3.94264257947642e-06 -3.94478953946104e-06 281 | 0.5 0.721875 0 2.14694025013083e-09 3.94282574877806e-06 -3.9449726890282e-06 282 | 0.5 0.725 0 2.14692056603123e-09 3.94300879337517e-06 -3.9451557139412e-06 283 | 0.5 0.728125 0 2.14690093122181e-09 3.94319171400437e-06 -3.94533861493559e-06 284 | 0.5 0.734375 0 2.14686180495028e-09 3.94355718624585e-06 -3.94570404805081e-06 285 | 0.5 0.7375 0 2.14684231148043e-09 3.943739739304e-06 -3.94588658161549e-06 286 | 0.5 0.7390625 0 2.14683258167086e-09 3.94383097038276e-06 -3.94597780296443e-06 287 | 0.5 0.740625 0 2.1468228630881e-09 3.94392217127381e-06 -3.9460689941369e-06 288 | 0.5 0.7421875 0 2.14681315558271e-09 3.94401334206669e-06 -3.94616015522228e-06 289 | 0.5 0.74375 0 2.14680345907049e-09 3.94410448285395e-06 -3.94625128631302e-06 290 | 0.5 0.7453125 0 2.1467937734496e-09 3.94419559371488e-06 -3.94634238748834e-06 291 | 0.5 0.746875 0 2.14678409864995e-09 3.9442866747419e-06 -3.94643345884055e-06 292 | 0.5 0.75 0 2.14676478113826e-09 3.94446874763654e-06 -3.94661551241769e-06 293 | 0.5 0.753125 0 2.14674550586286e-09 3.9446507022151e-06 -3.94679744772097e-06 294 | 0.5 0.7546875 0 2.14673588384975e-09 3.94474163535006e-06 -3.94688837123391e-06 295 | 0.5 0.75625 0 2.14672627229496e-09 3.94483253915984e-06 -3.94697926543214e-06 296 | 0.5 0.7578125 0 2.1467166709522e-09 3.9449234137268e-06 -3.94707013039776e-06 297 | 0.5 0.759375 0 2.14670707991609e-09 3.94501425913986e-06 -3.94716096621978e-06 298 | 0.5 0.7609375 0 2.14669749909012e-09 3.94510507547119e-06 -3.94725177297028e-06 299 | 0.5 0.7625 0 2.14668792841648e-09 3.945195862819e-06 -3.94734255074742e-06 300 | 0.5 0.7640625 0 2.14667836786064e-09 3.94528662125001e-06 -3.94743329961787e-06 301 | 0.5 0.765625 0 2.14666881738198e-09 3.94537735085439e-06 -3.94752401967178e-06 302 | 0.5 0.76640625 0 2.14666404595761e-09 3.94542270486989e-06 -3.94756936891586e-06 303 | 0.5 0.7671875 0 2.14665927695107e-09 3.94546805171114e-06 -3.94761471098809e-06 304 | 0.5 0.76796875 0 2.14665451048375e-09 3.94551339138297e-06 -3.94766004589346e-06 305 | 0.5 0.76875 0 2.14664974658242e-09 3.94555872390185e-06 -3.94770537364843e-06 306 | 0.5 0.76953125 0 2.14664498506471e-09 3.94560404926718e-06 -3.94775069425224e-06 307 | 0.5 0.7703125 0 2.14664022610588e-09 3.94564936750397e-06 -3.94779600773008e-06 308 | 0.5 0.771875 0 2.14663071564407e-09 3.9457399825921e-06 -3.94788661330774e-06 309 | 0.5 0.7734375 0 2.14662121512487e-09 3.94583056926241e-06 -3.94797719047753e-06 310 | 0.5 0.775 0 2.1466117245527e-09 3.94592112757512e-06 -3.94806773929967e-06 311 | 0.5 0.7765625 0 2.14660224388943e-09 3.94601165762282e-06 -3.9481582598667e-06 312 | 0.5 0.778125 0 2.14659277315387e-09 3.94610215947249e-06 -3.94824875224565e-06 313 | 0.5 0.7796875 0 2.14658331231649e-09 3.94619263320703e-06 -3.94833921651935e-06 314 | 0.5 0.7828125 0 2.14656442043849e-09 3.94637349663562e-06 -3.94852006105606e-06 315 | 0.5 0.7859375 0 2.14654556812782e-09 3.94655424851528e-06 -3.94870079408341e-06 316 | 0.5 0.7890625 0 2.14652675567272e-09 3.94673488944167e-06 -3.94888141619734e-06 317 | 0.5 0.7921875 0 2.14650798300107e-09 3.94691542001763e-06 -3.94906192800064e-06 318 | 0.5 0.7953125 0 2.14648925044727e-09 3.94709584082467e-06 -3.94924233007513e-06 319 | 0.5 0.7984375 0 2.14647055814893e-09 3.94727615243893e-06 -3.94942262299708e-06 320 | 0.5 0.801562500000001 0 2.14645190636477e-09 3.94745635542629e-06 -3.94960280733266e-06 321 | 0.5 0.803125000000001 0 2.14644259576215e-09 3.94754641635792e-06 -3.94969285895369e-06 322 | 0.5 0.804687500000001 0 2.14643329538956e-09 3.94763645034895e-06 -3.94978288364434e-06 323 | 0.5 0.806250000000001 0 2.14642400530788e-09 3.94772645746214e-06 -3.94987288146745e-06 324 | 0.5 0.807812500000001 0 2.14641472553198e-09 3.94781643776277e-06 -3.94996285248831e-06 325 | 0.5 0.808593750000001 0 2.14641008953468e-09 3.94786141788232e-06 -3.95000782797186e-06 326 | 0.5 0.809375000000001 0 2.1464054561361e-09 3.9479063913219e-06 -3.95005279677804e-06 327 | 0.5 0.81015625 0 2.14640082532005e-09 3.94795135809295e-06 -3.95009775891827e-06 328 | 0.5 0.8109375 0 2.14639619711735e-09 3.94799631820298e-06 -3.95014271440011e-06 329 | 0.5 0.81171875 0 2.14639157152753e-09 3.94804127166766e-06 -3.9501876632392e-06 330 | 0.5 0.8125 0 2.14638694855473e-09 3.94808621848479e-06 -3.95023260543335e-06 331 | 0.5 0.8140625 0 2.14637771047871e-09 3.94817609221539e-06 -3.95032246992587e-06 332 | 0.5 0.815625 0 2.14636848299143e-09 3.94826593948052e-06 -3.95041230796352e-06 333 | 0.5 0.8171875 0 2.14635926597854e-09 3.94835576032459e-06 -3.95050211959057e-06 334 | 0.5 0.81875 0 2.14635005964162e-09 3.94844555482645e-06 -3.95059190488609e-06 335 | 0.5 0.8203125 0 2.14634086397413e-09 3.94853532304109e-06 -3.95068166390507e-06 336 | 0.5 0.821875 0 2.14633167907147e-09 3.94862506503726e-06 -3.95077139671633e-06 337 | 0.5 0.825000000000001 0 2.14631334143587e-09 3.94880447062091e-06 -3.95095078396235e-06 338 | 0.5 0.828125000000001 0 2.14629504721312e-09 3.94898377207657e-06 -3.95113006712379e-06 339 | 0.5 0.831250000000001 0 2.14627679674397e-09 3.94916296988101e-06 -3.95130924667776e-06 340 | 0.5 0.834375000000001 0 2.14625859023122e-09 3.94934206452055e-06 -3.95148832311078e-06 341 | 0.5 0.837500000000001 0 2.14624042800058e-09 3.94952105645991e-06 -3.95166729688791e-06 342 | 0.5 0.840625000000001 0 2.14622231024214e-09 3.94969994616381e-06 -3.95184616847406e-06 343 | 0.5 0.843750000000001 0 2.14620423726e-09 3.94987873407771e-06 -3.95202493831497e-06 344 | 0.5 0.846875000000001 0 2.14618620916617e-09 3.95005742064464e-06 -3.9522036068538e-06 345 | 0.5 0.848437500000001 0 2.14617721203864e-09 3.95014672605822e-06 -3.95229290327026e-06 346 | 0.5 0.850000000000001 0 2.14616822607264e-09 3.95023600629722e-06 -3.95238217452329e-06 347 | 0.5 0.851562500000001 0 2.14615925141733e-09 3.95032526141526e-06 -3.95247142066668e-06 348 | 0.5 0.853125000000001 0 2.14615028804226e-09 3.9504144914533e-06 -3.95256064174134e-06 349 | 0.5 0.854687500000001 0 2.14614133598237e-09 3.95050369648702e-06 -3.95264983782301e-06 350 | 0.5 0.856250000000001 0 2.14613239508671e-09 3.95059287654529e-06 -3.95273900894038e-06 351 | 0.5 0.859375000000001 0 2.14611454715526e-09 3.95077116195587e-06 -3.95291727650303e-06 352 | 0.5 0.862500000000001 0 2.14609674415166e-09 3.95094934809389e-06 -3.95309544483804e-06 353 | 0.5 0.865625000000001 0 2.14607898589317e-09 3.95112743533919e-06 -3.95327351432508e-06 354 | 0.5 0.868750000000001 0 2.14606127217619e-09 3.9513054240696e-06 -3.95345148534178e-06 355 | 0.5 0.871875000000001 0 2.14604360271477e-09 3.95148331465553e-06 -3.95362935825824e-06 356 | 0.5 0.873437500000001 0 2.14603478448091e-09 3.95157222325739e-06 -3.95371825804187e-06 357 | 0.5 0.875000000000001 0 2.1460259771782e-09 3.95166110745053e-06 -3.95380713342771e-06 358 | 0.5 0.876562500000001 0 2.14601718076777e-09 3.95174996729277e-06 -3.95389598447354e-06 359 | 0.5 0.878125000000001 0 2.14600839517499e-09 3.95183880281385e-06 -3.95398481120903e-06 360 | 0.5 0.879687500000001 0 2.1459996203611e-09 3.95192761406123e-06 -3.9540736136816e-06 361 | 0.5 0.881250000000001 0 2.14599085626085e-09 3.95201640107202e-06 -3.95416239192829e-06 362 | 0.5 0.884375000000001 0 2.14597335995067e-09 3.9521939025673e-06 -3.95433987592725e-06 363 | 0.5 0.887500000000001 0 2.14595590571018e-09 3.95237130761351e-06 -3.95451726351922e-06 364 | 0.5 0.890625000000001 0 2.14593849296901e-09 3.95254861652579e-06 -3.95469455501875e-06 365 | 0.5 0.893750000000001 0 2.14592112111472e-09 3.95272582960779e-06 -3.9548717507289e-06 366 | 0.5 0.895312500000002 0 2.14591245033327e-09 3.95281440029933e-06 -3.95496031274966e-06 367 | 0.5 0.896093750000001 0 2.14590811868566e-09 3.95285867670877e-06 -3.95500458482745e-06 368 | 0.5 0.896875000000001 0 2.14590378952653e-09 3.95290294715048e-06 -3.95504885094001e-06 369 | 0.5 0.897656250000001 0 2.14589946284379e-09 3.95294721164216e-06 -3.95509311110501e-06 370 | 0.5 0.898437500000001 0 2.14589513862351e-09 3.95299147018916e-06 -3.95513736532779e-06 371 | 0.5 0.899218750000001 0 2.14589081685591e-09 3.95303572278667e-06 -3.95518161360353e-06 372 | 0.5 0.900000000000001 0 2.14588649753284e-09 3.95307996944539e-06 -3.95522585594293e-06 373 | 0.5 0.901562500000001 0 2.14587786617608e-09 3.95316844495327e-06 -3.95531432281945e-06 374 | 0.5 0.903125000000001 0 2.14586924446165e-09 3.95325689675919e-06 -3.95540276600365e-06 375 | 0.5 0.904687500000001 0 2.14586063231408e-09 3.95334532488717e-06 -3.95549118551948e-06 376 | 0.5 0.906250000000001 0 2.14585202962135e-09 3.95343372937103e-06 -3.95557958140066e-06 377 | 0.5 0.907812500000001 0 2.14584343633148e-09 3.95352211023795e-06 -3.95566795367429e-06 378 | 0.5 0.909375000000001 0 2.14583485232749e-09 3.95361046752789e-06 -3.95575630238021e-06 379 | 0.5 0.912500000000001 0 2.14581771189323e-09 3.95378711148552e-06 -3.95593292919741e-06 380 | 0.5 0.915625000000001 0 2.14580060761755e-09 3.95396366148354e-06 -3.95610946209116e-06 381 | 0.5 0.918750000000002 0 2.14578353883494e-09 3.95414011775923e-06 -3.95628590129807e-06 382 | 0.5 0.921875000000002 0 2.14576650488326e-09 3.95431648052807e-06 -3.95646224703296e-06 383 | 0.5 0.925000000000002 0 2.14574950513125e-09 3.95449275000775e-06 -3.95663849951288e-06 384 | 0.5 0.928125000000002 0 2.14573253897092e-09 3.9546689264109e-06 -3.95681465894988e-06 385 | 0.5 0.931250000000002 0 2.14571560582424e-09 3.95484500993151e-06 -3.95699072553734e-06 386 | 0.5 0.934375000000002 0 2.14569870514298e-09 3.95502100075932e-06 -3.95716669946447e-06 387 | 0.5 0.935937500000002 0 2.14569026687065e-09 3.95510896147351e-06 -3.95725465174038e-06 388 | 0.5 0.937500000000002 0 2.14568183641904e-09 3.95519689908248e-06 -3.9573425809189e-06 389 | 0.5 0.939062500000002 0 2.14567341390247e-09 3.95528481360833e-06 -3.95743048702223e-06 390 | 0.5 0.940625000000002 0 2.14566499919133e-09 3.95537270506997e-06 -3.95751837006916e-06 391 | 0.5 0.942187500000002 0 2.14565659226551e-09 3.95546057349041e-06 -3.95760623008268e-06 392 | 0.5 0.943750000000002 0 2.14564819303788e-09 3.95554841889449e-06 -3.95769406708753e-06 393 | 0.5 0.946875000000002 0 2.14563141755766e-09 3.95572404071533e-06 -3.9578696721329e-06 394 | 0.5 0.950000000000002 0 2.14561467242217e-09 3.95589957068688e-06 -3.95804518535931e-06 395 | 0.5 0.953125000000002 0 2.14559795737727e-09 3.95607500894519e-06 -3.95822060690257e-06 396 | 0.5 0.956250000000002 0 2.14558127202357e-09 3.95625035563849e-06 -3.95839593691052e-06 397 | 0.5 0.959375000000002 0 2.14556461629666e-09 3.95642561089665e-06 -3.95857117551295e-06 398 | 0.5 0.962500000000002 0 2.14554798996974e-09 3.95660077483709e-06 -3.95874632282706e-06 399 | 0.5 0.968750000000002 0 2.14551482507558e-09 3.95695082924744e-06 -3.95909634407251e-06 400 | 0.5 0.971875000000002 0 2.14549828633574e-09 3.95712571993404e-06 -3.95927121822037e-06 401 | 0.5 0.975000000000002 0 2.14548177673878e-09 3.95730051974459e-06 -3.95944600152133e-06 402 | 0.5 0.978125000000002 0 2.14546529615056e-09 3.95747522876285e-06 -3.95962069405901e-06 403 | 0.5 0.981250000000002 0 2.14544884472237e-09 3.95764984708857e-06 -3.95979529593329e-06 404 | 0.5 0.984375000000002 0 2.14543242247288e-09 3.95782437479211e-06 -3.95996980721458e-06 405 | 0.5 0.987500000000002 0 2.14541602950949e-09 3.95799881196569e-06 -3.9601442279952e-06 406 | 0.5 0.990625000000002 0 2.14539966576403e-09 3.95817315866839e-06 -3.96031855833415e-06 407 | 0.5 0.993750000000002 0 2.14538333147576e-09 3.95834741496935e-06 -3.96049279830083e-06 408 | 0.5 0.996875000000003 0 2.14536702668476e-09 3.95852158092809e-06 -3.96066694795478e-06 409 | 0.5 1 0 2.14535075149317e-09 3.95869565661848e-06 -3.96084100736998e-06 410 | 0.5 1.0015625 0 2.14534262502605e-09 3.95878266062249e-06 -3.96092800324752e-06 411 | 0.5 1.003125 0 2.14533450598581e-09 3.95886964207519e-06 -3.96101497658118e-06 412 | 0.5 1.0046875 0 2.1453263944052e-09 3.95895660098605e-06 -3.96110192738046e-06 413 | 0.5 1.00625 0 2.1453182902775e-09 3.9590435373567e-06 -3.96118885564697e-06 414 | 0.5 1.0078125 0 2.14531019361418e-09 3.95913045119588e-06 -3.96127576138949e-06 415 | 0.5 1.009375 0 2.14530210447592e-09 3.9592173425042e-06 -3.96136264460868e-06 416 | 0.5 1.0125 0 2.1452859485006e-09 3.95939105756159e-06 -3.96153634351009e-06 417 | 0.5 1.015625 0 2.14526982262372e-09 3.95956468257073e-06 -3.96170995239335e-06 418 | 0.5 1.01875 0 2.1452537267087e-09 3.95973821755534e-06 -3.96188347128205e-06 419 | 0.5 1.021875 0 2.14523766077763e-09 3.95991166256115e-06 -3.96205690022193e-06 420 | 0.5 1.025 0 2.14522162491732e-09 3.96008501761188e-06 -3.9622302392368e-06 421 | 0.5 1.028125 0 2.14520561904305e-09 3.96025828272994e-06 -3.96240348834899e-06 422 | 0.5 1.034375 0 2.14517369697472e-09 3.96060454327144e-06 -3.96274971696841e-06 423 | 0.5 1.040625 0 2.14514189372145e-09 3.96095044434995e-06 -3.96309558624367e-06 424 | 0.5 1.04375 0 2.14512603627045e-09 3.96112326013717e-06 -3.96326838617345e-06 425 | 0.5 1.0453125 0 2.14511811849535e-09 3.96120963435162e-06 -3.96335475247012e-06 426 | 0.5 1.046875 0 2.14511020798861e-09 3.96129598611244e-06 -3.96344109632044e-06 427 | 0.5 1.0484375 0 2.14510230471263e-09 3.96138231541935e-06 -3.96352741772406e-06 428 | 0.5 1.05 0 2.14509440863865e-09 3.96146862227605e-06 -3.96361371668468e-06 429 | 0.5 1.0515625 0 2.14508651973473e-09 3.96155490669017e-06 -3.9636999932099e-06 430 | 0.5 1.053125 0 2.14507863795377e-09 3.96164116865921e-06 -3.96378624729716e-06 431 | 0.5 1.05625 0 2.14506289564908e-09 3.96181362525333e-06 -3.96395868814898e-06 432 | 0.5 1.059375 0 2.14504718138816e-09 3.96198599208387e-06 -3.96413103926526e-06 433 | 0.5 1.0625 0 2.14503149482891e-09 3.96215826915755e-06 -3.96430330065238e-06 434 | 0.5 1.065625 0 2.14501583559395e-09 3.96233045648036e-06 -3.96447547231595e-06 435 | 0.5 1.06875 0 2.14500020329645e-09 3.96250255406214e-06 -3.96464755426544e-06 436 | 0.5 1.071875 0 2.14498459750874e-09 3.96267456191681e-06 -3.96481954651432e-06 437 | 0.5 1.0734375 0 2.14497680443432e-09 3.96276053219427e-06 -3.9649055089987e-06 438 | 0.5 1.075 0 2.14496901781805e-09 3.96284648004828e-06 -3.9649914490661e-06 439 | 0.5 1.0765625 0 2.14496123761436e-09 3.96293240547124e-06 -3.96507736670886e-06 440 | 0.5 1.078125 0 2.1449534637581e-09 3.96301830847024e-06 -3.965163261934e-06 441 | 0.5 1.0796875 0 2.14494569619807e-09 3.96310418903845e-06 -3.96524913473465e-06 442 | 0.5 1.08125 0 2.14493793487209e-09 3.9631900471895e-06 -3.96533498512437e-06 443 | 0.5 1.084375 0 2.14492243073076e-09 3.963361696218e-06 -3.96550661864873e-06 444 | 0.5 1.0875 0 2.14490695070104e-09 3.96353325556091e-06 -3.96567816251161e-06 445 | 0.5 1.090625 0 2.14489149443718e-09 3.96370472524759e-06 -3.96584961674203e-06 446 | 0.5 1.09375 0 2.14487606140326e-09 3.96387610527523e-06 -3.96602098133664e-06 447 | 0.5 1.096875 0 2.14486065110379e-09 3.96404739565834e-06 -3.96619225630944e-06 448 | 0.5 1.1 0 2.1448452630301e-09 3.96421859642661e-06 -3.96636344168964e-06 449 | 0.5 1.10625 0 2.14481455163936e-09 3.96456072914639e-06 -3.96670554369803e-06 450 | 0.5 1.1125 0 2.14478392325062e-09 3.96490250359476e-06 -3.96704728751801e-06 451 | 0.5 1.11875 0 2.14475337418348e-09 3.96524391994477e-06 -3.96738867331895e-06 452 | 0.5 1.121875 0 2.14473812831527e-09 3.96541449389586e-06 -3.96755923202418e-06 453 | 0.5 1.125 0 2.14472290100801e-09 3.96558497840301e-06 -3.96772970130402e-06 454 | 0.5 1.128125 0 2.14470769193524e-09 3.96575537350274e-06 -3.96790008119468e-06 455 | 0.5 1.13125 0 2.14469250056854e-09 3.96592567921836e-06 -3.96807037171893e-06 456 | 0.5 1.134375 0 2.14467732673313e-09 3.96609589559626e-06 -3.968240572923e-06 457 | 0.5 1.1375 0 2.14466217007112e-09 3.96626602266623e-06 -3.9684106848363e-06 458 | 0.5 1.140625 0 2.14464703030929e-09 3.96643606047128e-06 -3.96858070750159e-06 459 | 0.5 1.14375 0 2.14463190720206e-09 3.9666060090535e-06 -3.9687506409607e-06 460 | 0.5 1.146875 0 2.14461680054224e-09 3.96677586846337e-06 -3.96892048526391e-06 461 | 0.5 1.15 0 2.14460171015574e-09 3.9669456387406e-06 -3.96909024045075e-06 462 | 0.5 1.1515625 0 2.14459417101752e-09 3.96703049047496e-06 -3.96917508464597e-06 463 | 0.5 1.15234375 0 2.1445904030066e-09 3.96707290799377e-06 -3.96921749839677e-06 464 | 0.5 1.153125 0 2.14458663589933e-09 3.96711531994888e-06 -3.96925990658478e-06 465 | 0.5 1.15390625 0 2.14458286984348e-09 3.96715772633523e-06 -3.96930230920507e-06 466 | 0.5 1.1546875 0 2.14457910478121e-09 3.9672001271591e-06 -3.96934470626388e-06 467 | 0.5 1.15546875 0 2.1445753407414e-09 3.96724252242111e-06 -3.96938709776185e-06 468 | 0.5 1.15625 0 2.14457157767817e-09 3.96728491212369e-06 -3.96942948370136e-06 469 | 0.5 1.1578125 0 2.1445640545545e-09 3.96736967484495e-06 -3.9695142388995e-06 470 | 0.5 1.159375 0 2.14455653541275e-09 3.96745441533061e-06 -3.96959897186602e-06 471 | 0.5 1.1609375 0 2.14454902027733e-09 3.96753913359203e-06 -3.96968368261231e-06 472 | 0.5 1.1625 0 2.14454150910858e-09 3.96762382963323e-06 -3.96976837114234e-06 473 | 0.5 1.1640625 0 2.14453400198351e-09 3.96770850345776e-06 -3.96985303745974e-06 474 | 0.5 1.165625 0 2.14452649874176e-09 3.96779315508883e-06 -3.96993768158757e-06 475 | 0.5 1.16875 0 2.14451150439726e-09 3.96796239175191e-06 -3.9701069032563e-06 476 | 0.5 1.171875 0 2.14449652614651e-09 3.96813153970326e-06 -3.97027603622941e-06 477 | 0.5 1.175 0 2.14448156411731e-09 3.96830059900399e-06 -3.97044508056811e-06 478 | 0.5 1.178125 0 2.14446661848719e-09 3.96846956973578e-06 -3.97061403635427e-06 479 | 0.5 1.18125 0 2.14445168943546e-09 3.96863845196344e-06 -3.97078290365288e-06 480 | 0.5 1.184375 0 2.14443677722164e-09 3.96880724577395e-06 -3.97095168255117e-06 481 | 0.5 1.190625 0 2.14440700438446e-09 3.96914456845802e-06 -3.97128897546241e-06 482 | 0.5 1.196875 0 2.14437730248256e-09 3.96948153847416e-06 -3.97162591577665e-06 483 | 0.5 1.1984375 0 2.14436988842746e-09 3.96956572595855e-06 -3.97171009584698e-06 484 | 0.5 1.2 0 2.14436247903667e-09 3.96964989145776e-06 -3.9717942539368e-06 485 | 0.5 1.20078125 0 2.1443587761547e-09 3.96969196597116e-06 -3.97183632474732e-06 486 | 0.5 1.2015625 0 2.1443550743532e-09 3.96973403498574e-06 -3.97187839006009e-06 487 | 0.5 1.20234375 0 2.14435137380609e-09 3.96977609851934e-06 -3.97192044989315e-06 488 | 0.5 1.203125 0 2.14434767444939e-09 3.96981815655496e-06 -3.97196250422941e-06 489 | 0.5 1.20390625 0 2.1443439763018e-09 3.9698602091095e-06 -3.9720045530858e-06 490 | 0.5 1.2046875 0 2.14434027941117e-09 3.9699022561797e-06 -3.97204659645911e-06 491 | 0.5 1.20625 0 2.14433288914734e-09 3.96998633386302e-06 -3.97213066675216e-06 492 | 0.5 1.2078125 0 2.14432550384982e-09 3.97007038963134e-06 -3.97221471513519e-06 493 | 0.5 1.209375 0 2.14431812354607e-09 3.97015442348654e-06 -3.97229874161009e-06 494 | 0.5 1.2109375 0 2.14431074833653e-09 3.9702384354449e-06 -3.97238274619324e-06 495 | 0.5 1.2125 0 2.14430337817346e-09 3.97032242552247e-06 -3.97246672890065e-06 496 | 0.5 1.2140625 0 2.14429601309763e-09 3.97040639373388e-06 -3.97255068974697e-06 497 | 0.5 1.2171875 0 2.14428129879116e-09 3.97057426460478e-06 -3.97271854590357e-06 498 | 0.5 1.21875 0 2.14427394956661e-09 3.97065816729076e-06 -3.97280244124033e-06 499 | 0.5 1.2203125 0 2.14426660566967e-09 3.97074204816846e-06 -3.97288631477413e-06 500 | 0.5 1.221875 0 2.1442592672599e-09 3.97082590725072e-06 -3.97297016651798e-06 501 | 0.5 1.2234375 0 2.14425193434268e-09 3.97090974454723e-06 -3.97305399648157e-06 502 | 0.5 1.225 0 2.14424460696826e-09 3.97099356007515e-06 -3.97313780468212e-06 503 | 0.5 1.2265625 0 2.14423728519799e-09 3.97107735384897e-06 -3.97322159113417e-06 504 | 0.5 1.2296875 0 2.14422265866952e-09 3.97124487620445e-06 -3.97338909886312e-06 505 | 0.5 1.2328125 0 2.14420805519928e-09 3.97141231173194e-06 -3.97355651978714e-06 506 | 0.5 1.234375 0 2.14420076221477e-09 3.97149599698365e-06 -3.97364019774586e-06 507 | 0.5 1.2359375 0 2.14419347522092e-09 3.97157966057095e-06 -3.97372385404617e-06 508 | 0.5 1.2375 0 2.14418619406901e-09 3.97166330251697e-06 -3.97380748871103e-06 509 | 0.5 1.2390625 0 2.14417891901759e-09 3.97174692284098e-06 -3.97389110176e-06 510 | 0.5 1.240625 0 2.14417164993121e-09 3.97183052155527e-06 -3.97397469320519e-06 511 | 0.5 1.2421875 0 2.14416438695864e-09 3.97191409868285e-06 -3.97405826306981e-06 512 | 0.5 1.2453125 0 2.14414987947334e-09 3.9720811882303e-06 -3.97422533810977e-06 513 | 0.5 1.246875 0 2.14414263501665e-09 3.97216470068963e-06 -3.97430884332465e-06 514 | 0.5 1.2484375 0 2.14413539684792e-09 3.97224819162682e-06 -3.97439232702367e-06 515 | 0.5 1.25 0 2.14412816484808e-09 3.97233166106462e-06 -3.97447578922947e-06 516 | 0.5 1.2515625 0 2.14412093919754e-09 3.97241510901497e-06 -3.97455922995417e-06 517 | 0.5 1.253125 0 2.14411371991853e-09 3.97249853550559e-06 -3.97464264922551e-06 518 | 0.5 1.2546875 0 2.14410650690375e-09 3.97258194054094e-06 -3.97472604704785e-06 519 | 0.5 1.2578125 0 2.14409210007849e-09 3.97274868636051e-06 -3.97489277846059e-06 520 | 0.5 1.2609375 0 2.14407771888156e-09 3.97291534662398e-06 -3.97505942434286e-06 521 | 0.5 1.2640625 0 2.14406336339801e-09 3.97308192148266e-06 -3.97522598484606e-06 522 | 0.5 1.2671875 0 2.1440490336763e-09 3.97324841110381e-06 -3.97539246013749e-06 523 | 0.5 1.2703125 0 2.14403472970956e-09 3.9734148156514e-06 -3.97555885038112e-06 524 | 0.5 1.2734375 0 2.14402045144869e-09 3.97358113528671e-06 -3.97572515573815e-06 525 | 0.5 1.2765625 0 2.14400619879111e-09 3.97374737018788e-06 -3.97589137638668e-06 526 | 0.5 1.2796875 0 2.14399197157426e-09 3.97391352052636e-06 -3.97605751249793e-06 527 | 0.5 1.2828125 0 2.14397776964738e-09 3.97407958647431e-06 -3.97622356424396e-06 528 | 0.5 1.284375 0 2.14397067798686e-09 3.97416258786032e-06 -3.97630655853831e-06 529 | 0.5 1.2859375 0 2.14396359259597e-09 3.97424556821077e-06 -3.97638953180337e-06 530 | 0.5 1.2875 0 2.14395651336696e-09 3.97432852756511e-06 -3.97647248407848e-06 531 | 0.5 1.2890625 0 2.14394944026152e-09 3.974411465936e-06 -3.97655541537627e-06 532 | 0.5 1.290625 0 2.14394237322957e-09 3.97449438334596e-06 -3.97663832571919e-06 533 | 0.5 1.2921875 0 2.14393531223478e-09 3.97457727982095e-06 -3.97672121513319e-06 534 | 0.5 1.29375 0 2.14392825721529e-09 3.97466015538637e-06 -3.97680408364359e-06 535 | 0.5 1.2953125 0 2.14392120810461e-09 3.97474301006827e-06 -3.97688693127637e-06 536 | 0.5 1.296875 0 2.14391416485882e-09 3.97482584388384e-06 -3.9769697580487e-06 537 | 0.5 1.2984375 0 2.14390712740217e-09 3.97490865686086e-06 -3.97705256398826e-06 538 | 0.5 1.3 0 2.14390009574478e-09 3.97499144902871e-06 -3.97713534912446e-06 539 | 0.5 1.3015625 0 2.14389306969975e-09 3.97507422041317e-06 -3.97721811348288e-06 540 | 0.5 1.3046875 0 2.14387903426498e-09 3.97523970091593e-06 -3.9773835799502e-06 541 | 0.5 1.3078125 0 2.14386502068824e-09 3.97540509857953e-06 -3.97754896360021e-06 542 | 0.5 1.309375 0 2.14385802187544e-09 3.97548776641348e-06 -3.97763162443535e-06 543 | 0.5 1.3109375 0 2.14385102826919e-09 3.97557041361752e-06 -3.97771426464578e-06 544 | 0.5 1.3125 0 2.14384403978988e-09 3.97565304021403e-06 -3.97779688425383e-06 545 | 0.5 1.3140625 0 2.14383705639892e-09 3.97573564623877e-06 -3.97787948329517e-06 546 | 0.5 1.315625 0 2.14383007785197e-09 3.9758182317132e-06 -3.97796206179106e-06 547 | 0.5 1.3171875 0 2.14382310422588e-09 3.97590079666582e-06 -3.97804461977005e-06 548 | 0.5 1.3203125 0 2.14380917116978e-09 3.97606586511055e-06 -3.97820967428172e-06 549 | 0.5 1.321875 0 2.1438022115568e-09 3.97614836866794e-06 -3.9782921708795e-06 550 | 0.5 1.3234375 0 2.14379525643442e-09 3.97623085181462e-06 -3.97837464707105e-06 551 | 0.5 1.325 0 2.14378830567187e-09 3.97631331458449e-06 -3.97845710289017e-06 552 | 0.5 1.3265625 0 2.14378135921354e-09 3.97639575699465e-06 -3.97853953835387e-06 553 | 0.5 1.328125 0 2.14377441693171e-09 3.97647817909039e-06 -3.97862195350733e-06 554 | 0.5 1.3296875 0 2.14376747872769e-09 3.97656058089314e-06 -3.97870434837187e-06 555 | 0.5 1.3328125 0 2.1437536141603e-09 3.97672532373961e-06 -3.97886907735378e-06 556 | 0.5 1.3359375 0 2.14373976467445e-09 3.97688998577516e-06 -3.97903372553984e-06 557 | 0.5 1.3390625 0 2.14372592943853e-09 3.9770545672587e-06 -3.97919829318814e-06 558 | 0.5 1.3421875 0 2.14371210760712e-09 3.97721906842574e-06 -3.97936278053334e-06 559 | 0.5 1.3453125 0 2.14369829834453e-09 3.9773834895429e-06 -3.97952718784125e-06 560 | 0.5 1.3484375 0 2.1436845008017e-09 3.97754783085542e-06 -3.97969151535623e-06 561 | 0.5 1.35 0 2.14367760621778e-09 3.97762997167208e-06 -3.9797736492783e-06 562 | 0.5 1.3515625 0 2.14367071415121e-09 3.97771209263103e-06 -3.97985576334518e-06 563 | 0.5 1.353125 0 2.14366382465229e-09 3.97779419378215e-06 -3.9799378576068e-06 564 | 0.5 1.3546875 0 2.1436569375699e-09 3.97787627513876e-06 -3.98001993207634e-06 565 | 0.5 1.35625 0 2.14365005280421e-09 3.97795833675382e-06 -3.98010198680662e-06 566 | 0.5 1.3578125 0 2.14364317025349e-09 3.97804037865407e-06 -3.98018402182433e-06 567 | 0.5 1.3609375 0 2.14362941140797e-09 3.97820440343676e-06 -3.98034803284818e-06 568 | 0.5 1.3640625 0 2.14361566026162e-09 3.97836834977607e-06 -3.98051196543634e-06 569 | 0.5 1.3671875 0 2.14360191607794e-09 3.97853221795593e-06 -3.98067581987201e-06 570 | 0.5 1.3703125 0 2.14358817814344e-09 3.97869600825584e-06 -3.98083959643398e-06 571 | 0.5 1.3734375 0 2.14357444575257e-09 3.97885972097177e-06 -3.98100329541752e-06 572 | 0.5 1.375 0 2.14356758142901e-09 3.97894154833383e-06 -3.98108511591526e-06 573 | 0.5 1.3765625 0 2.14356071826253e-09 3.97902335641167e-06 -3.98116691712994e-06 574 | 0.5 1.378125 0 2.14355385620674e-09 3.97910514523813e-06 -3.98124869909434e-06 575 | 0.5 1.3796875 0 2.14354699504645e-09 3.97918691485637e-06 -3.98133046185142e-06 576 | 0.5 1.38125 0 2.14354013485996e-09 3.97926866530048e-06 -3.98141220543534e-06 577 | 0.5 1.3828125 0 2.14353327552707e-09 3.97935039661489e-06 -3.98149392989042e-06 578 | 0.5 1.3859375 0 2.14351955915526e-09 3.97951380200569e-06 -3.98165732156485e-06 579 | 0.5 1.3890625 0 2.14350584543101e-09 3.97967713132369e-06 -3.98182063716913e-06 580 | 0.5 1.3921875 0 2.14349213389425e-09 3.97984038490252e-06 -3.98198387703641e-06 581 | 0.5 1.3953125 0 2.14347842412093e-09 3.98000356304301e-06 -3.98214704146714e-06 582 | 0.5 1.396875 0 2.14347156982741e-09 3.9800851239341e-06 -3.98222859550393e-06 583 | 0.5 1.3984375 0 2.14346471573511e-09 3.98016666608822e-06 -3.98231013080396e-06 584 | 0.5 1.4 0 2.14345786197031e-09 3.98024818955252e-06 -3.98239164741449e-06 585 | 0.5 1.4015625 0 2.14345100842767e-09 3.98032969435752e-06 -3.98247314536595e-06 586 | 0.5 1.403125 0 2.14344415508129e-09 3.98041118055187e-06 -3.98255462470696e-06 587 | 0.5 1.4046875 0 2.14343730190222e-09 3.98049264818208e-06 -3.98263608548399e-06 588 | 0.5 1.4078125 0 2.14342359590664e-09 3.98065552789573e-06 -3.98279895149164e-06 589 | 0.5 1.4109375 0 2.14340989031622e-09 3.9808183338427e-06 -3.98296174373301e-06 590 | 0.5 1.4140625 0 2.14339618488988e-09 3.98098106635923e-06 -3.98312446254413e-06 591 | 0.5 1.415625 0 2.14338933216003e-09 3.98106240518831e-06 -3.98320579452047e-06 592 | 0.5 1.4171875 0 2.14338247951134e-09 3.98114372579413e-06 -3.98328710827364e-06 593 | 0.5 1.41875 0 2.14337562686705e-09 3.98122502821882e-06 -3.98336840384569e-06 594 | 0.5 1.4203125 0 2.14336877423225e-09 3.98130631249742e-06 -3.98344968127165e-06 595 | 0.5 1.421875 0 2.14336192160171e-09 3.98138757868583e-06 -3.98353094060744e-06 596 | 0.5 1.4234375 0 2.14335506898345e-09 3.98146882682694e-06 -3.98361218189593e-06 597 | 0.5 1.425 0 2.14334821637933e-09 3.98155005695887e-06 -3.98369340517525e-06 598 | 0.5 1.4265625 0 2.14334136379111e-09 3.98163126913395e-06 -3.98377461049775e-06 599 | 0.5 1.428125 0 2.14333451123999e-09 3.9817124633872e-06 -3.98385579789844e-06 600 | 0.5 1.4296875 0 2.14332765879442e-09 3.98179363977557e-06 -3.98393696743436e-06 601 | 0.5 1.43125 0 2.14332080630668e-09 3.98187479833137e-06 -3.98401811913767e-06 602 | 0.5 1.4328125 0 2.14331395393485e-09 3.98195593911669e-06 -3.98409925307063e-06 603 | 0.5 1.4359375 0 2.14330024952044e-09 3.98211816752655e-06 -3.98426146777607e-06 604 | 0.5 1.4390625 0 2.14328654569441e-09 3.98228032537093e-06 -3.98442361191663e-06 605 | 0.5 1.4421875 0 2.14327284265653e-09 3.9824424130186e-06 -3.98458568586126e-06 606 | 0.5 1.4453125 0 2.14325914070819e-09 3.98260443084996e-06 -3.98474768999067e-06 607 | 0.5 1.4484375 0 2.14324544010712e-09 3.98276637923114e-06 -3.98490962467125e-06 608 | 0.5 1.4515625 0 2.14323174118402e-09 3.98292825855662e-06 -3.9850714902978e-06 609 | 0.5 1.4578125 0 2.14320434986384e-09 3.98325181153028e-06 -3.98539501588015e-06 610 | 0.5 1.4609375 0 2.14319065824559e-09 3.98341348595639e-06 -3.98555667661464e-06 611 | 0.5 1.4640625 0 2.14317696990269e-09 3.98357509285121e-06 -3.98571826982111e-06 612 | 0.5 1.4671875 0 2.14316328534387e-09 3.98373663260727e-06 -3.98587979589261e-06 613 | 0.5 1.4703125 0 2.14314960491219e-09 3.98389810561699e-06 -3.9860412552219e-06 614 | 0.5 1.4734375 0 2.14313592925834e-09 3.98405951227725e-06 -3.98620264820651e-06 615 | 0.5 1.4765625 0 2.14312225891808e-09 3.98422085296969e-06 -3.98636397522861e-06 616 | 0.5 1.4828125 0 2.14309493610905e-09 3.9845433380654e-06 -3.98668643300152e-06 617 | 0.5 1.4890625 0 2.14306764132911e-09 3.9848655640643e-06 -3.98700863170562e-06 618 | 0.5 1.4953125 0 2.14304037931417e-09 3.98518753416485e-06 -3.98733057454416e-06 619 | 0.5 1.496875 0 2.14303356961381e-09 3.98526798708112e-06 -3.98741102065073e-06 620 | 0.5 1.4984375 0 2.1430267622729e-09 3.98534842425012e-06 -3.98749145101239e-06 621 | 0.5 1.5 0 2.14301995753098e-09 3.98542884572726e-06 -3.98757186568479e-06 622 | -------------------------------------------------------------------------------- /data/ic_vce_0.6.out: -------------------------------------------------------------------------------- 1 | 0.6 0.00625 0 1.17052292760694e-05 2.68457728152617e-05 -3.85510020913311e-05 2 | 0.6 0.0125 0 9.22933827721459e-06 5.95721196120046e-05 -6.88014578892192e-05 3 | 0.6 0.01875 0 7.28041901381166e-06 8.53014541627523e-05 -9.25818731765641e-05 4 | 0.6 0.025 0 5.74653565825704e-06 0.000105529291966696 -0.000111275827624953 5 | 0.6 0.03125 0 4.53941743410836e-06 0.000121432119750335 -0.000125971537184443 6 | 0.6 0.0375 0 3.58949870124717e-06 0.000133935218882866 -0.000137524717584113 7 | 0.6 0.05 0 2.25372622889255e-06 0.000151496930814966 -0.000153750657043859 8 | 0.6 0.05625 0 1.79076802740737e-06 0.000157577191207462 -0.000159367959234869 9 | 0.6 0.0625 0 1.42638523999229e-06 0.000162360357696908 -0.0001637867429369 10 | 0.6 0.06875 0 1.13955282249417e-06 0.000166124198471973 -0.000167263751294467 11 | 0.6 0.075 0 9.13731208413737e-07 0.000169087008607317 -0.000170000739815731 12 | 0.6 0.08125 0 7.35910553517446e-07 0.000171420335487127 -0.000172156246040645 13 | 0.6 0.0875 0 5.95857986177949e-07 0.00017325898482523 -0.000173854842811408 14 | 0.6 0.1 0 3.98581152505785e-07 0.000175853281094947 -0.000176251862247453 15 | 0.6 0.1125 0 2.7600605858855e-07 0.000177473161092747 -0.000177749167151336 16 | 0.6 0.11875 0 2.33376786195247e-07 0.000178040427570012 -0.000178273804356207 17 | 0.6 0.125 0 1.99735125741548e-07 0.000178491107274762 -0.000178690842400504 18 | 0.6 0.13125 0 1.73173646839879e-07 0.000178850136322073 -0.000179023309968913 19 | 0.6 0.1375 0 1.52191290261795e-07 0.000179137109566594 -0.000179289300856856 20 | 0.6 0.14375 0 1.35606620684847e-07 0.000179367425006325 -0.000179503031627009 21 | 0.6 0.15 0 1.22489581388629e-07 0.000179553183023294 -0.000179675672604683 22 | 0.6 0.1625 0 1.03884732665114e-07 0.000179827028015287 -0.000179930912747952 23 | 0.6 0.165625 0 1.00436630191553e-07 0.000179880143094277 -0.000179980579724469 24 | 0.6 0.16875 0 9.73658554749232e-08 0.000179928461919349 -0.000180025827774824 25 | 0.6 0.171875 0 9.46304723344244e-08 0.000179972524894933 -0.000180067155367267 26 | 0.6 0.175 0 9.21932397929576e-08 0.000180012811145894 -0.000180105004385687 27 | 0.6 0.178125 0 9.00211020827616e-08 0.00018004974545619 -0.000180139766558272 28 | 0.6 0.18125 0 8.8084694970171e-08 0.000180083704460711 -0.000180171789155682 29 | 0.6 0.1875 0 8.48177107399368e-08 0.000180143994439469 -0.000180228812150209 30 | 0.6 0.19375 0 8.22167825400786e-08 0.000180195923694628 -0.000180278140477168 31 | 0.6 0.2 0 8.01433909901791e-08 0.00018024125553487 -0.00018032139892586 32 | 0.6 0.20625 0 7.84881904748981e-08 0.000180281376556943 -0.000180359864747418 33 | 0.6 0.2125 0 7.71648002873295e-08 0.000180317377319506 -0.000180394542119794 34 | 0.6 0.21875 0 7.61049420792605e-08 0.000180350115710014 -0.000180426220652093 35 | 0.6 0.225 0 7.52546227888481e-08 0.000180380266726433 -0.000180455521349221 36 | 0.6 0.23125 0 7.45711074058144e-08 0.00018040836161764 -0.000180482932725046 37 | 0.6 0.2375 0 7.40205498892847e-08 0.000180434818625662 -0.000180508839175551 38 | 0.6 0.24375 0 7.3576122525974e-08 0.000180459967148869 -0.000180533543271394 39 | 0.6 0.25 0 7.32165382267545e-08 0.000180484066734773 -0.000180557283272999 40 | 0.6 0.25625 0 7.29248908868838e-08 0.000180507322001565 -0.000180580246892452 41 | 0.6 0.2625 0 7.26877406925735e-08 0.000180529894365803 -0.000180602582106495 42 | 0.6 0.26875 0 7.24943885352955e-08 0.000180551911264223 -0.000180624405652758 43 | 0.6 0.275 0 7.23363069072309e-08 0.000180573473398959 -0.000180645809705867 44 | 0.6 0.28125 0 7.22066901377972e-08 0.000180594660433258 -0.000180666867123396 45 | 0.6 0.2875 0 7.21000974860343e-08 0.000180615535470818 -0.000180687635568304 46 | 0.6 0.29375 0 7.20121735846297e-08 0.000180636148575028 -0.000180708160748612 47 | 0.6 0.30625 0 7.18790439916353e-08 0.000180676740059889 -0.00018074861910388 48 | 0.6 0.31875 0 7.17867807222336e-08 0.000180716666008149 -0.000180788452788871 49 | 0.6 0.33125 0 7.17220308324727e-08 0.000180756074666747 -0.000180827796697579 50 | 0.6 0.34375 0 7.16760244310005e-08 0.000180795062592036 -0.000180866738616467 51 | 0.6 0.35625 0 7.16429430007183e-08 0.000180833693968692 -0.000180905336911693 52 | 0.6 0.36875 0 7.16188828448863e-08 0.000180872012594328 -0.000180943631477173 53 | 0.6 0.38125 0 7.16011942978337e-08 0.000180910049328019 -0.000180981650522317 54 | 0.6 0.39375 0 7.15880569046684e-08 0.000180947826729574 -0.000181019414786478 55 | 0.6 0.40625 0 7.15782043859788e-08 0.000180985361959886 -0.000181056940164272 56 | 0.6 0.41875 0 7.1570745170449e-08 0.000181022668602987 -0.000181094239348157 57 | 0.6 0.43125 0 7.15650441304876e-08 0.000181059757817893 -0.000181131322862024 58 | 0.6 0.44375 0 7.15606438419591e-08 0.000181096639073316 -0.000181168199717158 59 | 0.6 0.45625 0 7.15572116082034e-08 0.000181133320622038 -0.000181204877833646 60 | 0.6 0.4625 0 7.15557795184241e-08 0.000181151588831756 -0.000181223144611274 61 | 0.6 0.46875 0 7.15545033653e-08 0.000181169809811987 -0.000181241364315352 62 | 0.6 0.475 0 7.15533624149812e-08 0.000181187984373855 -0.00018125953773627 63 | 0.6 0.48125 0 7.15523387912954e-08 0.000181206113294225 -0.000181277665633016 64 | 0.6 0.4875 0 7.1551417064344e-08 0.0001812241973189 -0.000181295748735964 65 | 0.6 0.49375 0 7.15505839031511e-08 0.00018124223716559 -0.000181313787749493 66 | 0.6 0.50625 0 7.1549138720132e-08 0.000181278187069043 -0.000181349736207764 67 | 0.6 0.51875 0 7.15479283910414e-08 0.000181313968266453 -0.000181385516194844 68 | 0.6 0.53125 0 7.15468967345632e-08 0.000181349585693629 -0.000181421132590364 69 | 0.6 0.54375 0 7.15460014891877e-08 0.000181385044002592 -0.000181456590004081 70 | 0.6 0.55625 0 7.15452107971739e-08 0.000181420347595213 -0.00018149189280601 71 | 0.6 0.56875 0 7.15445005952759e-08 0.0001814555006508 -0.000181527045151396 72 | 0.6 0.59375 0 7.15432532494021e-08 0.000181525370890928 -0.000181596914144175 73 | 0.6 0.61875 0 7.15421606347903e-08 0.000181594684506703 -0.000181666226667336 74 | 0.6 0.63125 0 7.15416535817103e-08 0.000181629141227366 -0.000181700682880947 75 | 0.6 0.64375 0 7.15411662231242e-08 0.000181663468909667 -0.00018173501007589 76 | 0.6 0.65625 0 7.15406951918177e-08 0.00018169767067703 -0.000181769211372222 77 | 0.6 0.66875 0 7.15402379647381e-08 0.000181731749551841 -0.000181803289789806 78 | 0.6 0.681249999999999 0 7.15397926496218e-08 0.0001817657084643 -0.000181837248256951 79 | 0.6 0.693749999999999 0 7.15393578220764e-08 0.000181799550260347 -0.000181871089618169 80 | 0.6 0.706249999999999 0 7.1538932400927e-08 0.000181833277708479 -0.00018190481664088 81 | 0.6 0.718749999999999 0 7.15385155548036e-08 0.000181866893505905 -0.00018193843202146 82 | 0.6 0.731249999999999 0 7.1538106631525e-08 0.000181900400283572 -0.000181971938390204 83 | 0.6 0.743749999999999 0 7.15377051035395e-08 0.000181933800610128 -0.000182005338315231 84 | 0.6 0.756249999999999 0 7.1537310527554e-08 0.000181967096994883 -0.000182038634305411 85 | 0.6 0.768749999999999 0 7.15369225150318e-08 0.000182000291889873 -0.000182071828812389 86 | 0.6 0.793749999999999 0 7.15361647902575e-08 0.00018206638673666 -0.000182137922901451 87 | 0.6 0.818749999999999 0 7.15354293685934e-08 0.000182132103630866 -0.000182203639060235 88 | 0.6 0.843749999999999 0 7.15347140018551e-08 0.000182197460094576 -0.000182268994808578 89 | 0.6 0.868749999999999 0 7.15340167807675e-08 0.000182262472593757 -0.000182334006610539 90 | 0.6 0.893749999999999 0 7.15333361823742e-08 0.000182327156404092 -0.000182398689740275 91 | 0.6 0.906249999999999 0 7.15330017503124e-08 0.000182359379462131 -0.000182430912463882 92 | 0.6 0.918749999999999 0 7.15326710797159e-08 0.000182391525460514 -0.000182463058131595 93 | 0.6 0.931249999999999 0 7.15323440801613e-08 0.000182423595907438 -0.000182495128251518 94 | 0.6 0.943749999999999 0 7.15320206738397e-08 0.000182455592210936 -0.000182527124231611 95 | 0.6 0.956249999999999 0 7.15317007900472e-08 0.000182487515675334 -0.000182559047376125 96 | 0.6 0.968749999999999 0 7.15313843611348e-08 0.000182519367499452 -0.000182590898883814 97 | 0.6 0.993749999999999 0 7.15307615875888e-08 0.000182582860489473 -0.000182654391251061 98 | 0.6 1.01875 0 7.15301517464968e-08 0.000182646078648616 -0.000182717608800363 99 | 0.6 1.04375 0 7.15295541663184e-08 0.000182709027800389 -0.000182780557354556 100 | 0.6 1.06875 0 7.15289681767437e-08 0.000182771712245611 -0.000182843241213789 101 | 0.6 1.09375 0 7.15283931883169e-08 0.000182834134948887 -0.000182905663342076 102 | 0.6 1.11875 0 7.15278287264047e-08 0.000182896297778665 -0.000182967825607392 103 | 0.6 1.14375 0 7.15272743998409e-08 0.000182958201783254 -0.000183029729057654 104 | 0.6 1.15625 0 7.15270009228131e-08 0.000182989056901167 -0.00018306058390209 105 | 0.6 1.16875 0 7.15267298403064e-08 0.000183019847482049 -0.00018309137421189 106 | 0.6 1.18125 0 7.15264611025099e-08 0.000183050573554653 -0.000183122100015756 107 | 0.6 1.19375 0 7.15261946570283e-08 0.00018308123514858 -0.000183152761343238 108 | 0.6 1.20625 0 7.15259304493728e-08 0.000183111832301287 -0.000183183358231737 109 | 0.6 1.21875 0 7.15256684234178e-08 0.000183142365064223 -0.000183213890732646 110 | 0.6 1.24375 0 7.15251506909709e-08 0.000183203237726275 -0.000183274762876967 111 | 0.6 1.25625 0 7.15248948742847e-08 0.000183233577840414 -0.000183305102735289 112 | 0.6 1.26875 0 7.15246410218171e-08 0.000183263854000892 -0.000183335378641915 113 | 0.6 1.28125 0 7.15243890870549e-08 0.000183294066389845 -0.000183365590778932 114 | 0.6 1.29375 0 7.1524139028848e-08 0.00018332421522225 -0.00018339573936128 115 | 0.6 1.30625 0 7.15238908109687e-08 0.000183354300746715 -0.000183425824637527 116 | 0.6 1.31875 0 7.15236444016409e-08 0.000183384323246127 -0.00018345584689053 117 | 0.6 1.34375 0 7.15231568930847e-08 0.000183444180474879 -0.000183515703631772 118 | 0.6 1.36875 0 7.1522676262747e-08 0.000183503789871607 -0.00018357531254787 119 | 0.6 1.39375 0 7.15222022071223e-08 0.000183563154979667 -0.000183634677181874 120 | 0.6 1.41875 0 7.1521734320945e-08 0.000183622279956949 -0.00018369380169127 121 | 0.6 1.44375 0 7.1521272123302e-08 0.00018368116962397 -0.000183752690896093 122 | 0.6 1.46875 0 7.15208151347432e-08 0.000183739829515337 -0.000183811350330473 123 | 0.6 1.5 0 7.1520250636646e-08 0.000183812840906813 -0.00018388436115745 124 | -------------------------------------------------------------------------------- /data/ic_vce_0.7.out: -------------------------------------------------------------------------------- 1 | 0.7 0.0125 0 0.000411445247572559 0.00266615905002294 -0.0030776042975955 2 | 0.7 0.025 0 0.000258510821508127 0.00475599454504763 -0.00501450536655575 3 | 0.7 0.0375 0 0.000162674494862949 0.00606792036437379 -0.00623059485923674 4 | 0.7 0.05 0 0.000102629238779516 0.00688923889496044 -0.00699186813373996 5 | 0.7 0.05625 0 8.16493681219628e-05 0.00717585697165939 -0.00725750633978134 6 | 0.7 0.0625 0 6.50648887498649e-05 0.00740228231202906 -0.00746734720077893 7 | 0.7 0.06875 0 5.19631789040346e-05 0.0075811054138371 -0.00763306859274113 8 | 0.7 0.075 0 4.16194830596557e-05 0.00772231452154378 -0.00776393400460344 9 | 0.7 0.08125 0 3.34582502163833e-05 0.00783382485176986 -0.00786728310198625 10 | 0.7 0.0875 0 2.70226322763351e-05 0.00792190208386924 -0.00794892471614557 11 | 0.7 0.1 0 1.79541313225748e-05 0.00804653611854375 -0.00806449024986633 12 | 0.7 0.1125 0 1.23289843344804e-05 0.00812462172881291 -0.00813695071314739 13 | 0.7 0.125 0 8.8431892898638e-06 0.00817383764075898 -0.00818268083004886 14 | 0.7 0.1375 0 6.68420960944508e-06 0.00820516016735159 -0.00821184437696105 15 | 0.7 0.15 0 5.3471837943472e-06 0.00822539309513547 -0.00823074027892983 16 | 0.7 0.1625 0 4.51903529987272e-06 0.00823874958326593 -0.0082432686185658 17 | 0.7 0.1875 0 3.68764675987626e-06 0.00825426969955912 -0.00825795734631899 18 | 0.7 0.2125 0 3.36742418776155e-06 0.00826278403333764 -0.00826615145752542 19 | 0.7 0.2375 0 3.24343744869499e-06 0.00826853507088163 -0.00827177850833031 20 | 0.7 0.2625 0 3.19503887903728e-06 0.00827315623169799 -0.00827635127057703 21 | 0.7 0.2875 0 3.17591171761466e-06 0.00827728197764007 -0.00828045788935768 22 | 0.7 0.3125 0 3.16821116053513e-06 0.00828116317468497 -0.00828433138584548 23 | 0.7 0.3625 0 3.16364873192705e-06 0.00828854483287488 -0.0082917084816068 24 | 0.7 0.3875 0 3.16301814191738e-06 0.00829211181935335 -0.00829527483749529 25 | 0.7 0.4125 0 3.16270272618492e-06 0.0082956155884689 -0.00829877829119508 26 | 0.7 0.4375 0 3.16252614021331e-06 0.00829906396589246 -0.00830222649203269 27 | 0.7 0.4625 0 3.16241391576811e-06 0.00830246264881725 -0.00830562506273302 28 | 0.7 0.4875 0 3.16233348898968e-06 0.00830581612105479 -0.00830897845454379 29 | 0.7 0.5125 0 3.1622699821617e-06 0.00830912807518938 -0.00831229034517153 30 | 0.7 0.5625 0 3.16216857784739e-06 0.00831563947607324 -0.00831880164465112 31 | 0.7 0.6125 0 3.16208448442054e-06 0.00832201707550019 -0.00832517915998472 32 | 0.7 0.6625 0 3.16200980875144e-06 0.00832827646989595 -0.00833143847970467 33 | 0.7 0.7125 0 3.1619414705527e-06 0.00833443017177829 -0.00833759211324885 34 | 0.7 0.7625 0 3.16187799863474e-06 0.00834048858212491 -0.00834365046012356 35 | 0.7 0.8125 0 3.16181853042199e-06 0.00834646063402197 -0.00834962245255242 36 | 0.7 0.9125 0 3.16170929273268e-06 0.00835817651032787 -0.00836133821962061 37 | 0.7 1.0125 0 3.16161020101192e-06 0.00836963223542773 -0.00837279384562875 38 | 0.7 1.1125 0 3.1615189789524e-06 0.00838086950634777 -0.00838403102532674 39 | 0.7 1.1625 0 3.16147585524099e-06 0.00838641469215381 -0.00838957616800906 40 | 0.7 1.2125 0 3.16143421232933e-06 0.00839191319145534 -0.00839507462566768 41 | 0.7 1.2625 0 3.16139394862881e-06 0.00839736564026506 -0.00840052703421371 42 | 0.7 1.3125 0 3.16135498069048e-06 0.00840277224849132 -0.00840593360347202 43 | 0.7 1.3625 0 3.16131723563348e-06 0.00840813317167908 -0.00841129448891472 44 | 0.7 1.4125 0 3.16128064441647e-06 0.00841344877987645 -0.00841661006052087 45 | 0.7 1.5 0 3.16121917680023e-06 0.00842264443257478 -0.00842580565175159 46 | -------------------------------------------------------------------------------- /data/ic_vce_0.8.out: -------------------------------------------------------------------------------- 1 | 0.8 0.0125 0 0.0179367057295565 0.0899403931268888 -0.107877098856445 2 | 0.8 0.025 0 0.011233051342988 0.171753775869919 -0.182986827212907 3 | 0.8 0.0375 0 0.00705534783307593 0.228263646510137 -0.235318994343213 4 | 0.8 0.05 0 0.00445436671565964 0.267396980485417 -0.271851347201077 5 | 0.8 0.0625 0 0.00283551828018871 0.294644490236388 -0.297480008516577 6 | 0.8 0.075 0 0.00182760043917147 0.313773385668408 -0.315600986107579 7 | 0.8 0.1 0 0.000807279911130694 0.337106344249388 -0.337913624160519 8 | 0.8 0.1125 0 0.00056192414041895 0.344216072515086 -0.344777996655504 9 | 0.8 0.125 0 0.000408025236108254 0.349463176766826 -0.349871202002934 10 | 0.8 0.1375 0 0.000311273492845179 0.353374482739246 -0.353685756232091 11 | 0.8 0.14375 0 0.000277313073184783 0.354945194569303 -0.355222507642488 12 | 0.8 0.15 0 0.000250362593226725 0.356305476943371 -0.356555839536597 13 | 0.8 0.15625 0 0.0002289757788959 0.357482907382739 -0.357711883161634 14 | 0.8 0.1625 0 0.000212006976150339 0.358500827609178 -0.358712834585329 15 | 0.8 0.16875 0 0.00019854737821815 0.359379263405352 -0.35957781078357 16 | 0.8 0.175 0 0.000187875271726128 0.360135637237126 -0.360323512508852 17 | 0.8 0.1875 0 0.000172716725529861 0.361341966247148 -0.361514682972678 18 | 0.8 0.2 0 0.000163213192666765 0.362224086541728 -0.362387299734395 19 | 0.8 0.2125 0 0.000157266905255944 0.362865981720465 -0.36302324862572 20 | 0.8 0.225 0 0.00015355311802683 0.363334527683163 -0.363488080801189 21 | 0.8 0.2375 0 0.000151236946143498 0.363681241094096 -0.363832478040239 22 | 0.8 0.25 0 0.000149793653347522 0.363944176346911 -0.364093970000259 23 | 0.8 0.2625 0 0.000148894425793605 0.364150350294151 -0.364299244719945 24 | 0.8 0.275 0 0.000148333834525076 0.36431833583865 -0.364466669673176 25 | 0.8 0.2875 0 0.000147983843445718 0.364460610056306 -0.364608593899752 26 | 0.8 0.29375 0 0.000147861593270163 0.364524811122667 -0.364672672715938 27 | 0.8 0.3 0 0.000147764797401296 0.364585435321742 -0.364733200119142 28 | 0.8 0.30625 0 0.00014768807751728 0.3646430837353 -0.364790771812817 29 | 0.8 0.3125 0 0.000147627194824426 0.364698243450136 -0.364845870644961 30 | 0.8 0.31875 0 0.000147578809262377 0.364751309475327 -0.36489888828459 31 | 0.8 0.325 0 0.00014754028819609 0.364802602576449 -0.364950142864644 32 | 0.8 0.3375 0 0.00014748497915136 0.364900865596863 -0.365048350576015 33 | 0.8 0.35 0 0.000147449400376529 0.364994596895735 -0.365142046296112 34 | 0.8 0.3625 0 0.000147426172098838 0.365084850003898 -0.365232276175997 35 | 0.8 0.375 0 0.000147410700148825 0.36517234633331 -0.365319757033459 36 | 0.8 0.3875 0 0.000147400120597889 0.365257590060049 -0.365404990180647 37 | 0.8 0.4 0 0.000147392644855506 0.365340942169579 -0.365488334814435 38 | 0.8 0.425 0 0.000147382942800901 0.365502965759251 -0.365650348702052 39 | 0.8 0.45 0 0.000147376755492401 0.365659870287834 -0.365807247043327 40 | 0.8 0.475 0 0.000147372146532391 0.36581256716677 -0.365959939313302 41 | 0.8 0.5 0 0.000147368319733232 0.365961684151043 -0.366109052470777 42 | 0.8 0.525 0 0.00014736493324497 0.366107686047473 -0.366255050980718 43 | 0.8 0.55 0 0.000147361830309472 0.366250934562587 -0.366398296392895 44 | 0.8 0.6 0 0.000147356194651457 0.366530282065764 -0.366677638260414 45 | 0.8 0.65 0 0.000147351099009758 0.366801504644569 -0.366948855743576 46 | 0.8 0.7 0 0.000147346404131888 0.367065872227187 -0.367213218631319 47 | 0.8 0.75 0 0.000147342027789709 0.367324329806935 -0.367471671834725 48 | 0.8 0.8 0 0.000147337914253581 0.367577607440539 -0.367724945354793 49 | 0.8 0.85 0 0.000147334022933638 0.367826289876859 -0.367973623899793 50 | 0.8 0.9 0 0.000147330322802943 0.36807086140389 -0.368218191726693 51 | 0.8 0.950000000000001 0 0.000147326789210095 0.368311734986994 -0.368459061776204 52 | 0.8 0.975000000000001 0 0.000147325078404829 0.368430899162271 -0.368578224240675 53 | 0.8 1 0 0.000147323401913745 0.368549270470709 -0.368696593872622 54 | 0.8 1.025 0 0.000147321757700908 0.368666887532837 -0.368814209290538 55 | 0.8 1.05 0 0.000147320143885768 0.368783786936852 -0.368931107080738 56 | 0.8 1.075 0 0.000147318558736133 0.368900002573234 -0.36904732113197 57 | 0.8 1.1 0 0.000147317000657436 0.369015565868187 -0.369162882868844 58 | 0.8 1.15 0 0.000147313959964301 0.36924484796165 -0.369392161921614 59 | 0.8 1.2 0 0.000147311011515129 0.36947182616312 -0.369619137174636 60 | 0.8 1.2125 0 0.000147310287777845 0.369528229083242 -0.36967553937102 61 | 0.8 1.225 0 0.000147309569144593 0.369584499430409 -0.369731808999554 62 | 0.8 1.2375 0 0.000147308855505413 0.369640638583917 -0.369787947439422 63 | 0.8 1.24375 0 0.000147308500524937 0.369668659436463 -0.369815967936988 64 | 0.8 1.25 0 0.0001473081467534 0.369696648028635 -0.369843956175388 65 | 0.8 1.25625 0 0.000147307794177852 0.36972460456473 -0.369871912358908 66 | 0.8 1.2625 0 0.000147307442785374 0.369752529292667 -0.369899836735452 67 | 0.8 1.26875 0 0.000147307092565064 0.369780422207132 -0.369927729299698 68 | 0.8 1.275 0 0.000147306743505179 0.369808283450446 -0.369955590193951 69 | 0.8 1.2875 0 0.000147306048821654 0.369863911387454 -0.370011217436276 70 | 0.8 1.3 0 0.000147305358647016 0.369919414054587 -0.370066719413234 71 | 0.8 1.3125 0 0.000147304672897641 0.369974792175638 -0.370122096848536 72 | 0.8 1.325 0 0.000147303991493572 0.370030046422117 -0.37017735041361 73 | 0.8 1.3375 0 0.000147303314358268 0.370085177399813 -0.370232480714171 74 | 0.8 1.35 0 0.000147302641418281 0.370140185641223 -0.370287488282642 75 | 0.8 1.375 0 0.000147301307844944 0.370249835806269 -0.370397137114114 76 | 0.8 1.3875 0 0.00014730064707789 0.370304478555981 -0.370451779203059 77 | 0.8 1.4 0 0.000147299990238704 0.370359000265904 -0.370506300256143 78 | 0.8 1.4125 0 0.000147299337265054 0.370413401468481 -0.370560700805746 79 | 0.8 1.425 0 0.000147298688097463 0.37046768257133 -0.370614981259427 80 | 0.8 1.4375 0 0.00014729804267759 0.370521844046034 -0.370669142088711 81 | 0.8 1.45 0 0.000147297400949895 0.370575886130871 -0.370723183531821 82 | 0.8 1.4625 0 0.000147296762859119 0.370629809275077 -0.370777106037937 83 | 0.8 1.475 0 0.000147296128351132 0.370683613965183 -0.370830910093534 84 | 0.8 1.4875 0 0.000147295497372258 0.370737300931719 -0.370884596429092 85 | 0.8 1.5 0 0.000147294869871015 0.370790870648593 -0.370938165518464 86 | -------------------------------------------------------------------------------- /data/ic_vce_0.9.out: -------------------------------------------------------------------------------- 1 | 0.9 0.0125 0 0.70602593963674 0.857332188379945 -1.56335812801668 2 | 0.9 0.025 0 0.460407603624032 2.31016320674347 -2.7705708103675 3 | 0.9 0.0375 0 0.297906046029133 3.40751357106195 -3.70541961709109 4 | 0.9 0.05 0 0.192028058723329 4.23574789195392 -4.42777595067725 5 | 0.9 0.0625 0 0.123888789606199 4.86174274002304 -4.98563152962924 6 | 0.9 0.075 0 0.0804511122252033 5.33645739374058 -5.41690850596578 7 | 0.9 0.1 0 0.0356326640724036 5.97588251934131 -6.01151518341371 8 | 0.9 0.125 0 0.017942395504008 6.35836910025899 -6.376311495763 9 | 0.9 0.15 0 0.0110012470753895 6.59684966182247 -6.60785090889786 10 | 0.9 0.175 0 0.00826997054524013 6.75377320750453 -6.76204317804976 11 | 0.9 0.2 0 0.0071827923189771 6.86409881007756 -6.87128160239655 12 | 0.9 0.225 0 0.00674041200866785 6.94772917468409 -6.95446958669276 13 | 0.9 0.2375 0 0.00662787179525553 6.98333012794889 -6.98995799974415 14 | 0.9 0.25 0 0.00655377914034717 7.01610509931915 -7.02265887845949 15 | 0.9 0.25625 0 0.00652655395726788 7.03165373651855 -7.03818029047583 16 | 0.9 0.2625 0 0.00650415052585177 7.04673705479222 -7.05324120531807 17 | 0.9 0.26875 0 0.00648560057542855 7.06141311516797 -7.0678987157434 18 | 0.9 0.275 0 0.0064701316871993 7.07573159980922 -7.08220173149641 19 | 0.9 0.28125 0 0.00645712804538323 7.08973489245539 -7.09619202050077 20 | 0.9 0.2875 0 0.00644609903078099 7.10345911069686 -7.10990520972764 21 | 0.9 0.3 0 0.0064284800518172 7.13018838419999 -7.13661686425181 22 | 0.9 0.3125 0 0.00641500641413631 7.15611265784302 -7.16252766425716 23 | 0.9 0.325 0 0.00640424061058222 7.1813698370145 -7.18777407762508 24 | 0.9 0.33125 0 0.0063995738117907 7.19378016912126 -7.20017974293307 25 | 0.9 0.3375 0 0.00639527188306185 7.2060582008903 -7.21245347277337 26 | 0.9 0.34375 0 0.00639127159051713 7.21821203140944 -7.22460330299995 27 | 0.9 0.35 0 0.00638752251796207 7.23024865829936 -7.23663618081732 28 | 0.9 0.35625 0 0.00638398441415032 7.24217420681327 -7.24855819122742 29 | 0.9 0.3625 0 0.0063806250283902 7.25399406227646 -7.26037468730486 30 | 0.9 0.375 0 0.00637434402543323 7.27733546920356 -7.28370981322901 31 | 0.9 0.3875 0 0.00636852720044492 7.30030615957498 -7.30667468677543 32 | 0.9 0.4 0 0.006363074209032 7.32293346007522 -7.32929653428427 33 | 0.9 0.4125 0 0.0063579170692336 7.34523951185644 -7.35159742892567 34 | 0.9 0.425 0 0.00635300790221121 7.36724178638797 -7.37359479429018 35 | 0.9 0.43125 0 0.00635063492909825 7.37813342296832 -7.38448405789743 36 | 0.9 0.4375 0 0.00634831143979794 7.38895399009569 -7.39530230153548 37 | 0.9 0.44375 0 0.00634603426817341 7.39970481635742 -7.4060508506256 38 | 0.9 0.45 0 0.00634380060328188 7.41038715857189 -7.41673095917517 39 | 0.9 0.45625 0 0.00634160791576436 7.42100220404526 -7.42734381196104 40 | 0.9 0.4625 0 0.00633945390593654 7.43155122427891 -7.43789067818486 41 | 0.9 0.475 0 0.00633525383880861 7.45245628100747 -7.45879153484628 42 | 0.9 0.4875 0 0.00633118592298984 7.47311330574624 -7.47944449166924 43 | 0.9 0.5 0 0.00632723805549873 7.49353390006017 -7.49986113811566 44 | 0.9 0.5125 0 0.00632340001117934 7.51372935684276 -7.52005275685394 45 | 0.9 0.525 0 0.0063196629759381 7.53370957087823 -7.54002923385416 46 | 0.9 0.5375 0 0.00631601923290343 7.55348180589937 -7.55979782513227 47 | 0.9 0.5625 0 0.00630898436088901 7.59241436067148 -7.59872334503238 48 | 0.9 0.575 0 0.00630558066110402 7.61157320984263 -7.61787879050374 49 | 0.9 0.5875 0 0.00630224511155296 7.6305231600227 -7.63682540513426 50 | 0.9 0.6 0 0.00629897252000764 7.64926112080795 -7.65556009332797 51 | 0.9 0.612499999999999 0 0.00629575823771611 7.66778536950537 -7.67408112774307 52 | 0.9 0.624999999999999 0 0.00629259834262552 7.68609599025688 -7.69238858859949 53 | 0.9 0.637499999999999 0 0.00628948938520518 7.70419562389272 -7.71048511327795 54 | 0.9 0.649999999999999 0 0.00628642829482564 7.72208936689315 -7.72837579518803 55 | 0.9 0.662499999999999 0 0.00628341214180426 7.73978476852794 -7.74606818066965 56 | 0.9 0.674999999999999 0 0.0062804378655607 7.75729180089017 -7.76357223875566 57 | 0.9 0.681249999999999 0 0.00627896547027934 7.76597819750735 -7.77225716297758 58 | 0.9 0.687499999999999 0 0.00627750243004228 7.77462156241958 -7.78089906484958 59 | 0.9 0.693749999999999 0 0.00627604837657966 7.78322322061136 -7.7894992689879 60 | 0.9 0.699999999999999 0 0.00627460295244504 7.79178438004346 -7.79805898299588 61 | 0.9 0.706249999999999 0 0.00627316582985994 7.80030610911604 -7.80657927494588 62 | 0.9 0.712499999999999 0 0.006271736720063 7.80878921578953 -7.81506095250958 63 | 0.9 0.724999999999999 0 0.00626890139607476 7.82564219882608 -7.83191110022214 64 | 0.9 0.737499999999999 0 0.00626609531837054 7.84234537846135 -7.84861147377971 65 | 0.9 0.749999999999999 0 0.00626331749990826 7.85889665009351 -7.86515996759342 66 | 0.9 0.762499999999999 0 0.00626056753018406 7.8752907970372 -7.88155136456739 67 | 0.9 0.774999999999999 0 0.00625784554291154 7.89152022167243 -7.89777806721534 68 | 0.9 0.787499999999999 0 0.0062551517452094 7.90757784053253 -7.91383299227773 69 | 0.9 0.812499999999999 0 0.00624984967083609 7.9391580676776 -7.94540791734843 70 | 0.9 0.837499999999999 0 0.00624465932325531 7.970028884519 -7.97627354384225 71 | 0.9 0.862499999999999 0 0.00623957122090732 8.00024757127219 -8.0064871424931 72 | 0.9 0.887499999999999 0 0.00623456987785012 8.02990948595161 -8.03614405582947 73 | 0.9 0.912499999999999 0 0.00622963867267299 8.05910765470435 -8.06533729337702 74 | 0.9 0.937499999999999 0 0.00622476543408987 8.08789885333596 -8.09412361877004 75 | 0.9 0.987499999999999 0 0.00621518292379578 8.14422146175433 -8.15043664467813 76 | 0.9 1.0375 0 0.00620585535672741 8.19849526742622 -8.20470112278294 77 | 0.9 1.0875 0 0.00619681278046844 8.25043319041965 -8.25663000320013 78 | 0.9 1.1375 0 0.00618803286127829 8.30017078307509 -8.30635881593637 79 | 0.9 1.1875 0 0.00617946882846849 8.34804146970531 -8.35422093853379 80 | 0.9 1.2375 0 0.00617107133803363 8.3943328415024 -8.40050391284043 81 | 0.9 1.3375 0 0.00615468010742998 8.48232225267773 -8.48847693278515 82 | 0.9 1.3625 0 0.00615068348051398 8.50321892339253 -8.50936960687304 83 | 0.9 1.3875 0 0.00614674137713663 8.52361085933168 -8.52975760070882 84 | 0.9 1.4125 0 0.00614285979581333 8.54348295299365 -8.54962581278948 85 | 0.9 1.4375 0 0.00613904212165934 8.56283722394742 -8.56897626606908 86 | 0.9 1.4625 0 0.0061352874451191 8.58169837863595 -8.58783366608107 87 | 0.9 1.4875 0 0.00613159100879057 8.60010707123866 -8.60623866224745 88 | 0.9 1.5 0 0.00612976241543083 8.60915716041372 -8.61528692282914 89 | -------------------------------------------------------------------------------- /data/ic_vce_1.0.out: -------------------------------------------------------------------------------- 1 | 1 0.05 0 5.00543384527194 19.0399447091999 -24.0453785544718 2 | 1 0.1 0 1.23184724639825 30.6741546786014 -31.9060019249996 3 | 1 0.125 0 0.612197675278541 32.292526574478 -32.9047242497565 4 | 1 0.15 0 0.3320159039152 32.7677429711263 -33.0997588750414 5 | 1 0.175 0 0.209978760157757 32.756500111314 -32.9664788714718 6 | 1 0.2 0 0.157205088416889 32.5910181592857 -32.7482232477026 7 | 1 0.225 0 0.133880291502965 32.4122359798225 -32.5461162713254 8 | 1 0.25 0 0.123052720276504 32.2659102645638 -32.3889629848403 9 | 1 0.275 0 0.117635187758243 32.1579743557802 -32.2756095435385 10 | 1 0.3 0 0.114648938215886 32.0814439153082 -32.1960928535241 11 | 1 0.325 0 0.112816094493869 32.0276990258194 -32.1405151203132 12 | 1 0.35 0 0.111573327807514 31.9903246036358 -32.1018979314433 13 | 1 0.375 0 0.110662565188697 31.9654034638005 -32.0760660289892 14 | 1 0.3875 0 0.110289129566999 31.9567900590564 -32.0670791886235 15 | 1 0.4 0 0.109956295038098 31.9503770246525 -32.0603333196905 16 | 1 0.4125 0 0.109656640603184 31.9459140069802 -32.0555706475834 17 | 1 0.425 0 0.109384406022082 31.9431688940677 -32.0525533000898 18 | 1 0.43125 0 0.10925711688773 31.9423737846506 -32.0516309015383 19 | 1 0.4375 0 0.109135062837996 31.9419308376652 -32.0510659005033 20 | 1 0.44375 0 0.109017823743882 31.9418173505909 -32.0508351743347 21 | 1 0.45 0 0.108905023624955 31.9420120666901 -32.050917090315 22 | 1 0.45625 0 0.108796327633883 31.9424951445953 -32.0512914722292 23 | 1 0.4625 0 0.108691437166416 31.9432482308646 -32.0519396680309 24 | 1 0.475 0 0.108492027832778 31.9454968051012 -32.0539888329339 25 | 1 0.4875 0 0.108304962249785 31.9486348362602 -32.05693979851 26 | 1 0.5 0 0.108128746939344 31.9525552766369 -32.0606840235763 27 | 1 0.5125 0 0.107962145718988 31.9571636456338 -32.0651257913529 28 | 1 0.525 0 0.10780411769635 31.9623756074084 -32.0701797251048 29 | 1 0.5375 0 0.107653773883688 31.9681158071642 -32.0757695810479 30 | 1 0.5625 0 0.107373185507793 31.9809183667437 -32.0882915522515 31 | 1 0.5875 0 0.107115439894562 31.995119885214 -32.1022353251085 32 | 1 0.6125 0 0.10687690613965 32.0103839353812 -32.1172608415209 33 | 1 0.6375 0 0.106654891817377 32.0264677319062 -32.1331226237235 34 | 1 0.6625 0 0.106447250181167 32.0431941156598 -32.1496413658413 35 | 1 0.6875 0 0.106252165109825 32.0604403856831 -32.1666925507926 36 | 1 0.7375 0 0.105894135271529 32.0962883914698 -32.2021825267411 37 | 1 0.7875 0 0.105572543063053 32.1339335286117 -32.2395060716748 38 | 1 0.8375 0 0.105281565207701 32.1733552809096 -32.2786368461172 39 | 1 0.8875 0 0.10501704240328 32.2143458892593 -32.3193629316626 40 | 1 0.9375 0 0.104775515035914 32.2564627638749 -32.3612382789109 41 | 1 0.9625 0 0.104662371802436 32.2778046770132 -32.3824670488156 42 | 1 0.9875 0 0.104553716856823 32.2992740702829 -32.4038277871397 43 | 1 1.0125 0 0.104449024332056 32.3208241261699 -32.425273150502 44 | 1 1.0375 0 0.104347804079429 32.3424109973076 -32.446758801387 45 | 1 1.0625 0 0.104249651073416 32.363992584698 -32.4682422357714 46 | 1 1.0875 0 0.104154272966933 32.3855282684857 -32.4896825414526 47 | 1 1.1125 0 0.10406149694501 32.4069807050433 -32.5110422019883 48 | 1 1.1375 0 0.103971238636279 32.4283161312677 -32.532287369904 49 | 1 1.1625 0 0.103883522477547 32.4495119770715 -32.5533954995491 50 | 1 1.1875 0 0.103798454392016 32.4705573417482 -32.5743557961402 51 | 1 1.2125 0 0.103716136831591 32.4914449941006 -32.5951611309321 52 | 1 1.2375 0 0.103636617923518 32.5121652214506 -32.6158018393741 53 | 1 1.2625 0 0.103559856793266 32.5327015083707 -32.636261365164 54 | 1 1.2875 0 0.103485761213772 32.5530367566598 -32.6565225178736 55 | 1 1.3125 0 0.103414189170816 32.5731573286219 -32.6765715177927 56 | 1 1.3375 0 0.103344987389133 32.5930597084063 -32.6964046957954 57 | 1 1.3625 0 0.103277973215836 32.6127472185563 -32.7160251917721 58 | 1 1.3875 0 0.103212956249811 32.6322289882062 -32.735441944456 59 | 1 1.4375 0 0.103088108876201 32.6706221450897 -32.7737102539659 60 | 1 1.4875 0 0.102968820697115 32.7083481995688 -32.8113170202659 61 | 1 1.5 0 0.102939695315617 32.7176925184566 -32.8206322137722 62 | -------------------------------------------------------------------------------- /data/prep.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #format Vb, Vc, Ve, Ib, Ic, Ie 3 | #HEADER: V(base) V(collector) V(emitter) I(base) I(collector) I(emitter) 4 | # each curve is for constant vb 5 | for i in vb2_*.out; do 6 | fn=`echo $i | sed -e 's/vb2_/ic_vce_/'` 7 | grep "CURVE: " $i | sed -e 's/CURVE: //' > $fn 8 | done 9 | 10 | # each curve is for constant vcb and ve swept negative 11 | #http://en.wikipedia.org/wiki/Gummel_plot 12 | for i in ve_*.out; do 13 | fn=`echo $i | sed -e 's/ve_/gummel_/'` 14 | grep "CURVE: " $i | sed -e 's/CURVE: //' > $fn 15 | done 16 | 17 | 18 | # for this data Vcb is 0.0 and Ve is swept negative 19 | #ACHEADER: f V(base) V(collector) V(emitter) I(base) I(collector) I(emitter) IR(base) II(base) IR(collector) II(collector) IR(emitter) II(emitter) 20 | grep 'AC: ' ssac_0.0.out | sed -e 's/AC: //' > ft_data.out 21 | -------------------------------------------------------------------------------- /doc/bjtexample.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devsim/devsim_bjt_example/9987be11e20c3a14109763550d4de6be77cea6a5/doc/bjtexample.pdf -------------------------------------------------------------------------------- /doc/bjtexample.tex: -------------------------------------------------------------------------------- 1 | \documentclass[11pt]{article} 2 | \newcommand{\devsim}{\mbox{DEVSIM}} 3 | \newcommand{\devsimllc}{\mbox{DEVSIM LLC}} 4 | \newcommand{\gmsh}{\mbox{Gmsh}} 5 | \newcommand{\matplotlib}{\mbox{matplotlib}} 6 | \newcommand{\numpy}{\mbox{NumPy}} 7 | \newcommand{\python}{\mbox{Python}} 8 | \newcommand{\visit}{\mbox{VisIt}} 9 | 10 | \usepackage{indentfirst} 11 | \usepackage{fullpage} 12 | \usepackage{helvet} 13 | \renewcommand{\familydefault}{\sfdefault} 14 | \usepackage{mathptmx} 15 | %\usepackage[dvips,colorlinks,breaklinks,pagebackref,citecolor=blue,urlcolor=blue,bookmarks,bookmarksnumbered,linkcolor=blue]{hyperref} 16 | \usepackage[colorlinks,breaklinks,pagebackref,citecolor=blue,urlcolor=blue,bookmarks,bookmarksnumbered,linkcolor=blue]{hyperref} 17 | \title{\devsim\ BJT Example} 18 | \author{Juan E. Sanchez\\ juan.sanchez@devsim.com} 19 | 20 | \setcounter{secnumdepth}{2} 21 | 22 | \begin{document} 23 | \maketitle 24 | \thispagestyle{empty} 25 | \section{Introduction} 26 | This package includes the examples for the article ``Semiconductor Device Simulation Using \devsim''. In this example, the meshing, modeling, simulation, and visualization for a bipolar junction transistor~(BJT) is developed. 27 | %\section{Installation} 28 | %\subsection{\devsim} 29 | \devsim\ is an open source simulation software for technology computer-aided design~(TCAD) and is developed by \devsimllc. It uses a generalized partial-differential equation~(PDE) approach to perform semiconductor device simulation on a mesh. The software and documentation is available from \url{http://www.devsim.org}. 30 | 31 | In addition to \devsim, the following software packages are used to perform meshing, analysis, and visualization of results. 32 | 33 | ~\\~\\ 34 | \noindent 35 | \begin{tabular}{p{1.5cm}p{5cm}p{5cm}p{2cm}} 36 | \hline\noalign{\smallskip} 37 | Name & Description & Website & License$^a$ \\ 38 | \gmsh & Mesh Generator & \url{http://geuz.org/gmsh} & GPL\\ 39 | \matplotlib & Python 2D Plotting Library & \url{http://matplotlib.org} & \matplotlib \\ 40 | \numpy & Python Scientific Computing & \url{http://numpy.org} & BSD\\ 41 | \python & Scripting Language & \url{http://python.org} & PSF\\ 42 | \visit & Visualization Tool & \url{http://visit.llnl.gov} & BSD\\ 43 | \noalign{\smallskip}\hline\noalign{\smallskip} 44 | \end{tabular} 45 | 46 | \section{Running the Examples} 47 | \begin{minipage}{\textwidth} 48 | Here are some of the files in the package used for simulation. 49 | 50 | \begin{tabular}{ll} 51 | \texttt{bjt.geo} & Mesh description for \gmsh\\ 52 | \texttt{bjt.msh} & Resulting gmsh mesh\\ 53 | \texttt{initial\_guess.py} & Creates initial guess from Potential only simulation\\ 54 | \texttt{refinement.py} & Sets up E-field based refinements for creating background mesh\\ 55 | \texttt{netdoping.py} & Specifies analytical doping profile\\ 56 | \texttt{bjt\_dd.py} & Creates the zero bias drift diffusion solution for later sweeps\\ 57 | \texttt{bjt\_refine.py} & Runs \devsim\ to create a background mesh\\ 58 | \texttt{bjt\_bgmesh.pos} & Background mesh generated by \devsim\ for refinement using \gmsh\\ 59 | \texttt{physics/} & subdirectory containing physics files used in simulation. 60 | \end{tabular} 61 | \end{minipage} 62 | 63 | \subsection{Meshing and Refinement} 64 | 65 | The file \texttt{bjt.geo} contains the initial mesh specification for the bjt structure. This file is run through \gmsh\ in order to create a triangular mesh for use in \devsim. The resulting mesh file is called \texttt{bjt.msh}. In order to create a mesh suitable for devsim, the \texttt{bjt\_refine.py} script is run to create a background mesh with element sizes appropriate for simulation. The background mesh is then used with the original mesh specification to create a refined mesh. This procedure is repeated until the mesh is sufficiently refined for use in \devsim. 66 | 67 | \begin{minipage}{\textwidth} 68 | The steps are: 69 | \begin{verbatim} 70 | gmsh -format msh2 -2 bjt.geo 71 | python bjt_refine.py 72 | gmsh -format msh2 -2 bjt.geo -bgm ./bjt_bgmesh.pos 73 | python bjt_refine.py 74 | gmsh -format msh2 -2 bjt.geo -bgm ./bjt_bgmesh.pos 75 | python bjt_refine.py 76 | gmsh -format msh2 -2 bjt.geo -bgm ./bjt_bgmesh.pos 77 | python bjt_refine.py 78 | gmsh -format msh2 -2 bjt.geo -bgm ./bjt_bgmesh.pos 79 | python bjt_refine.py 80 | \end{verbatim} 81 | \end{minipage} 82 | \\~\\ 83 | 84 | The resulting mesh from each \devsim\ run can be visualized by running Visit. 85 | \begin{verbatim} 86 | visit bjt_refine.tec 87 | \end{verbatim} 88 | 89 | \subsection{Zero bias drift diffusion solution} 90 | When creating a new device, it is necessary to create initial zero bias solution for all the subsequent sweeps. 91 | \begin{verbatim} 92 | python bjt_dd.py 93 | \end{verbatim} 94 | This creates \texttt{bjt\_dd\_0.msh} file that is read in the next section. 95 | 96 | \subsection{Simulation} 97 | The dc and ac sweeps used in the publication are listed in \texttt{simsbatch.txt}. These simulations can be run in sequence or in parallel. 98 | 99 | 100 | \subsubsection{$V_c$ sweep} 101 | For a given value of $V_b$, sweep $V_c$ from $0$ to $1.5$~V. 102 | \begin{verbatim} 103 | python bjt_circuit2.py 0.1 &> data/vb2_0.1.out 104 | \end{verbatim} 105 | 106 | \subsubsection{$V_b$ sweep} 107 | For a given value of $V_c$, sweep $V_b$ from $0$ to $1.0$~V. 108 | \begin{verbatim} 109 | python bjt_circuit3.py 0.0 &> data/vc_0.0.out 110 | \end{verbatim} 111 | 112 | \subsubsection{$V_e$ sweep} 113 | For a given value of $V_c$, sweep $V_e$ from $0$ to $-1.0$~V. 114 | \begin{verbatim} 115 | python bjt_circuit4.py 0.0 &> data/ve_0.0.out 116 | \end{verbatim} 117 | 118 | \subsubsection{Small-signal ac sweep} 119 | For a given value of $V_c$, sweep $V_e$ from $0$ to $-1.0$~V. Do a small signal frequency sweep from fmin to fmax with given points per decade. 120 | \begin{verbatim} 121 | python bjt_circuit5.py 0.0 1e3 1e11 3 &> data/ssac_0.0.out 122 | \end{verbatim} 123 | 124 | \subsection{Visualization} 125 | The \texttt{data/} directory contains scripts used to generate the plots used for publication. A script was written to collect the data from the simulations to create plots using \texttt{matplotlib}. This script is in the \texttt{data/} directory and is called \texttt{prep.sh}. 126 | 127 | \begin{tabular}{ll} 128 | \texttt{ft.py} & Small-signal ft simulation\\ 129 | \texttt{gummel.py} & Ic, Ib versus Vbe.\\ 130 | \texttt{ic\_vec.py} & Ic versus Vce.\\ 131 | \end{tabular} 132 | \end{document} 133 | 134 | -------------------------------------------------------------------------------- /doc/devsim_bjt_example.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devsim/devsim_bjt_example/9987be11e20c3a14109763550d4de6be77cea6a5/doc/devsim_bjt_example.pdf -------------------------------------------------------------------------------- /simdir/README.md: -------------------------------------------------------------------------------- 1 | See the ``doc/bjtexample.pdf`` for information about the simulation scripts in this directory. 2 | -------------------------------------------------------------------------------- /simdir/bjt.geo: -------------------------------------------------------------------------------- 1 | /* we are using cm with um scale length*/ 2 | /* 3 | The top part of this file was written by hand. 4 | The bottom part was appended by the gmsh viewer to connect points, 5 | and create physical groups 6 | */ 7 | Mesh.CharacteristicLengthExtendFromBoundary=0; /* don't extend from boundary points */ 8 | Mesh.Algorithm=5; /*Delaunay*/ 9 | //Mesh.RandomFactor=1e-7; /*perturbation*/ 10 | /*Mesh.Algorithm=6;*/ /*Frontal*/ 11 | 12 | sf = 1.0e-4; 13 | Mesh.CharacteristicLengthMax = 2.5e-5; /*maximum characteristic length */ 14 | /* characterisitic lengths for meshing */ 15 | /* results in coarse mesh */ 16 | cl1 = 2.5e-5; 17 | cl2 = 2.5e-5; 18 | 19 | 20 | /* all in microns, final output in cm */ 21 | /* we are simulating the intrinsic device*/ 22 | device_depth = 5 * sf; 23 | left_space = 5 * sf; 24 | right_space = 5 * sf; 25 | contact_space = 7.5 * sf; 26 | base_contact_width = 5 * sf; 27 | emitter_contact_width = 5 * sf; 28 | device_width = (left_space + base_contact_width + contact_space + emitter_contact_width + right_space); 29 | collector_contact_width = device_width; 30 | 31 | xb1 = left_space; 32 | xb2 = xb1 + base_contact_width; 33 | xe1 = xb2 + contact_space; 34 | xe2 = xe1 + emitter_contact_width; 35 | 36 | 37 | /* positive y is in the depth direction */ 38 | /* base contact */ 39 | Point(1) = {0, 0, 0, cl1}; 40 | Point(2) = {xb1, 0, 0, cl2}; 41 | Point(3) = {xb2, 0, 0, cl2}; 42 | /* emitter contact */ 43 | Point(4) = {xe1, 0, 0, cl2}; 44 | Point(5) = {xe2, 0, 0, cl2}; 45 | Point(6) = {device_width, 0, 0, cl1}; 46 | 47 | /* collector/bottom */ 48 | Point(7) = {0, device_depth, 0, cl1}; 49 | Point(8) = {device_width, device_depth, 0, cl1}; 50 | 51 | Line(1) = {1, 2}; 52 | Line(2) = {2, 3}; 53 | Line(3) = {3, 4}; 54 | Line(4) = {4, 5}; 55 | Line(5) = {5, 6}; 56 | Line(6) = {6, 8}; 57 | Line(7) = {7, 8}; 58 | Line(8) = {7, 1}; 59 | Physical Line("base") = {2}; 60 | Physical Line("emitter") = {4}; 61 | Physical Line("collector") = {7}; 62 | Line Loop(12) = {7, -6, -5, -4, -3, -2, -1, -8}; 63 | Plane Surface(13) = {12}; 64 | Physical Surface("bjt") = {13}; 65 | -------------------------------------------------------------------------------- /simdir/bjt_circuit2.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 Devsim LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | import sys 16 | Vb=float(sys.argv[1]) 17 | 18 | import bjt_common 19 | bjt_common.run() 20 | 21 | from physics.ramp2 import * 22 | rampvoltage("bjt", "Vb", 0.0, Vb, 0.1, 0.001, 40, 1e-2, 1e6, bjt_common.make_bias("base")) 23 | rampvoltage("bjt", "Vc", 0.0, 1.5, 0.1, 0.0001, 10, 1e-3, 1e6, bjt_common.make_sweep(("base", "collector", "emitter"), ("Vb", "Vc", "Ve"))) 24 | 25 | -------------------------------------------------------------------------------- /simdir/bjt_circuit3.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 Devsim LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | import sys 16 | Vc=float(sys.argv[1]) 17 | 18 | import bjt_common 19 | bjt_common.run() 20 | 21 | from physics.ramp2 import * 22 | rampvoltage("bjt", "Vc", 0.0, Vc, 0.1, 0.0001, 40, 1e-1, 1e6, bjt_common.make_bias("collector")) 23 | rampvoltage("bjt", "Vb", 0.0, 1.0, 0.1, 0.0001, 40, 1e-2, 1e6, bjt_common.make_sweep(("base", "collector", "emitter"), ("Vb", "Vc", "Ve"))) 24 | 25 | -------------------------------------------------------------------------------- /simdir/bjt_circuit4.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 Devsim LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | import sys 15 | Vc=float(sys.argv[1]) 16 | 17 | import bjt_common 18 | bjt_common.run() 19 | 20 | from physics.ramp2 import * 21 | rampvoltage("bjt", "Vc", 0.0, Vc, 0.1, 0.0001, 40, 1e-1, 1e6, bjt_common.make_bias("collector")) 22 | rampvoltage("bjt", "Ve", 0.0, -1.0, 0.1, 0.0001, 20, 1e-2, 1e6, bjt_common.make_sweep(("base", "collector", "emitter"), ("Vb", "Vc", "Ve"))) 23 | 24 | -------------------------------------------------------------------------------- /simdir/bjt_circuit5.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 Devsim LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | import sys 16 | from devsim import * 17 | Vc=float(sys.argv[1]) 18 | fmin=float(sys.argv[2]) 19 | fmax=float(sys.argv[3]) 20 | ppd=float(sys.argv[4]) 21 | 22 | import bjt_common 23 | bjt_common.run() 24 | 25 | 26 | circuit_alter(name='Vb', param='acreal', value='1.0') 27 | 28 | 29 | from physics.ramp2 import * 30 | rampvoltage("bjt", "Vc", 0.0, Vc, 0.1, 0.0001, 40, 1e-1, 1e6, bjt_common.make_bias("collector")) 31 | rampvoltage("bjt", "Ve", 0.0, -1.0, 0.025, 0.0001, 20, 1e-2, 1e6, bjt_common.make_ac_callback(("base", "collector", "emitter"), ("Vb", "Vc", "Ve"), fmin, fmax, ppd)) 32 | 33 | -------------------------------------------------------------------------------- /simdir/bjt_common.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 Devsim LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from devsim import * 16 | from physics.new_physics import * 17 | import bjt_params 18 | import netdoping 19 | 20 | def make_bias(contact): 21 | def mycall(): 22 | print("BIAS %s %1.15g" % (contact, get_circuit_node_value(solution="dcop", node=GetContactBiasName(contact)))) 23 | return mycall 24 | 25 | def make_sweep(contact_names, bias_names): 26 | #cnames = ("base", "collector", "emitter") 27 | def mycall(): 28 | v=[] 29 | for c in contact_names: 30 | v.append("%1.15g" % get_circuit_node_value(solution="dcop", node=GetContactBiasName(c))) 31 | for b in bias_names: 32 | v.append("%1.15g" % -get_circuit_node_value(solution="dcop", node=b+".I")) 33 | print("CURVE: " + " ".join(v)) 34 | h = [] 35 | for c in contact_names: 36 | h.append("V(%s)" % c) 37 | for c in contact_names: 38 | h.append("I(%s)" % c) 39 | print("HEADER: " + " ".join(h)) 40 | return mycall 41 | 42 | def make_ac_callback(contact_names, bias_names, minf, maxf, ppd): 43 | cnames = ("base", "collector", "emitter") 44 | if (minf > maxf) or (minf <= 0.0) or (ppd <= 0): 45 | raise NameError("minf must be less than maxf and greater than zero. ppd must be greater than 0") 46 | ppde = pow(10, 1/ppd) 47 | f = minf 48 | freqs = [minf] 49 | while f < maxf: 50 | f *= ppde 51 | if f > maxf: 52 | f = maxf 53 | freqs.append(f) 54 | h = ["f"] 55 | for c in contact_names: 56 | h.append("V(%s)" % c) 57 | for c in contact_names: 58 | h.append("I(%s)" % c) 59 | for c in contact_names: 60 | h.append("IR(%s)" % c) 61 | h.append("II(%s)" % c) 62 | print("ACHEADER: " + " ".join(h)) 63 | def ac_callback(): 64 | # solve a few extra times for better ac sensitivity 65 | solve(type="dc", absolute_error=1e10, relative_error=1e-2, maximum_iterations=40) 66 | solve(type="dc", absolute_error=1e10, relative_error=1e-2, maximum_iterations=40) 67 | solve(type="dc", absolute_error=1e10, relative_error=1e-2, maximum_iterations=40) 68 | cinfo = [] 69 | for c in contact_names: 70 | cinfo.append("%1.15g" % get_circuit_node_value(solution="dcop", node=GetContactBiasName(c))) 71 | for b in bias_names: 72 | cinfo.append("%1.15g" % -get_circuit_node_value(solution="dcop", node=b+".I")) 73 | for f in freqs: 74 | v = ["%1.15g" % f] 75 | v.extend(cinfo) 76 | solve(type="ac", frequency=f) 77 | for b in bias_names: 78 | v.append("%1.15g" % -get_circuit_node_value(solution="ssac_real", node=b+".I")) 79 | v.append("%1.15g" % -get_circuit_node_value(solution="ssac_imag", node=b+".I")) 80 | print("AC: " + " ".join(v)) 81 | return ac_callback 82 | 83 | def run(): 84 | device="bjt" 85 | region="bjt" 86 | load_devices(file="bjt_dd_0.msh") 87 | bjt_params.run(device, region) 88 | netdoping.set_params(device, region) 89 | SetSiliconParameters(device, region) 90 | 91 | for c in ("base", "emitter", "collector"): 92 | #set_parameter(device=device, region=region, name=GetContactBiasName(c), value=0.0) 93 | CreateSiliconDriftDiffusionContact(device, region, c, "Jn", "Jp", True) 94 | # use first initial of each contact name 95 | circuit_element(name="V%s" % c[0], n1=GetContactBiasName(c), n2="0", value=0.0) 96 | 97 | solve(type="dc", absolute_error=1e6, relative_error=1e-1, maximum_iterations=40) 98 | solve(type="dc", absolute_error=1e6, relative_error=1e-1, maximum_iterations=40) 99 | solve(type="dc", absolute_error=1e6, relative_error=1e-1, maximum_iterations=40) 100 | 101 | 102 | -------------------------------------------------------------------------------- /simdir/bjt_dd.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 Devsim LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from devsim import * 16 | 17 | device="bjt" 18 | region="bjt" 19 | mesh_name="bjt" 20 | 21 | import read_gmsh 22 | read_gmsh.run("bjt.msh", device, region, "Silicon", ("base", "collector", "emitter")) 23 | 24 | 25 | 26 | # read in last simulation when ready 27 | import netdoping 28 | netdoping.run(device, region) 29 | import initial_guess 30 | initial_guess.run(device, region) 31 | 32 | 33 | 34 | 35 | from physics.new_physics import * 36 | 37 | import bjt_params 38 | bjt_params.run(device, region) 39 | 40 | 41 | import setup_dd 42 | setup_dd.run(device, region) 43 | 44 | #Get the initial guess from here 45 | set_node_values(device=device, region=region, name="Electrons", init_from="IntrinsicElectrons") 46 | set_node_values(device=device, region=region, name="Holes", init_from="IntrinsicHoles") 47 | 48 | 49 | element_from_edge_model(edge_model="EField", device=device, region=region) 50 | element_model(device=device, region=region, name="Emag", equation="(EField_x^2 + EField_y^2)^(0.5)") 51 | element_from_edge_model(edge_model="Jn", device=device, region=region) 52 | element_from_edge_model(edge_model="Jp", device=device, region=region) 53 | element_model(device=device, region=region, name="Jnmag", equation="(Jn_x^2 + Jn_y^2)^(0.5)") 54 | element_model(device=device, region=region, name="Jpmag", equation="(Jp_x^2 + Jp_y^2)^(0.5)") 55 | 56 | #edge_model(device=device, region=region, name='test', equation="pow(vsat_n,(-1))") 57 | #edge_model(device=device, region=region, name='test', equation="((mu_arora_n_lf * Epar_n) * pow(vsat_n,(-1)))") 58 | #edge_model(device=device, region=region, name='test', equation="(1 + pow(((mu_arora_n_lf * Epar_n) * pow(vsat_n,(-1))),beta_n))") 59 | #edge_model(device=device, region=region, name='test', equation="vec_min(((mu_arora_n_lf * Epar_n) * pow(vsat_n,(-1))))") 60 | #edge_model(device=device, region=region, name='test', equation="vec_min(((mu_arora_n_lf * Epar_n) * pow(vsat_n,(-1))))") 61 | #edge_model(device=device, region=region, name='test', equation="vec_min(((mu_arora_n_lf * Epar_n) * pow(vsat_n,(-1))))") 62 | #edge_model(device=device, region=region, name='test', equation="(mu_arora_n_lf * pow((1 + pow(((mu_arora_n_lf * Epar_n) * pow(vsat_n,(-1))),beta_n)),(-pow(beta_n,(-1)))))") 63 | #print get_edge_model_values(device=device, region=region, name='test')[0] 64 | #print get_edge_model_values(device=device, region=region, name='mu_n')[0] 65 | #print get_edge_model_values(device=device, region=region, name='mu_arora_n_lf')[0] 66 | 67 | solve(type="dc", absolute_error=1e6, relative_error=1e-1, maximum_iterations=40) 68 | write_devices (file="bjt_dd_0.tec", type="tecplot") 69 | write_devices (file="bjt_dd_0.msh", type="devsim") 70 | 71 | #from physics.ramp import * 72 | #printAllCurrents(device) 73 | ##CreateNodeModel(device, region, 'netsrh', 'NodeVolume*USRH') 74 | #print sum(get_node_model_values(device=device, region=region, name="netsrh")) 75 | #set_parameter(device=device, name=GetContactBiasName('collector'), value=1.0) 76 | #solve(type="dc", absolute_error=1e6, relative_error=1e3, maximum_iterations=40) 77 | #printAllCurrents(device) 78 | #set_parameter(device=device, name=GetContactBiasName('base'), value=0.5) 79 | #solve(type="dc", absolute_error=1e10, relative_error=1e3, maximum_iterations=40) 80 | #printAllCurrents(device) 81 | # 82 | #write_devices (file="bjt_dd_1.tec", type="tecplot") 83 | #write_devices (file="bjt_dd_1.msh", type="devsim") 84 | -------------------------------------------------------------------------------- /simdir/bjt_params.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 Devsim LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from devsim import * 16 | 17 | def run(device, region): 18 | pass 19 | # set_parameter(device=device, region=region, name="BETAN", value=2.0) 20 | # set_parameter(device=device, region=region, name="BETAP", value=1.0) 21 | # set_parameter(device=device, region=region, name="VSATN0", value=2.4e7) 22 | # set_parameter(device=device, region=region, name="VSATP0", value=2.4e7) 23 | # set_parameter(device=device, region=region, name="VSATN.A", value=0.8) 24 | # set_parameter(device=device, region=region, name="VSATP.A", value=0.8) 25 | 26 | -------------------------------------------------------------------------------- /simdir/bjt_refine.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 Devsim LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from devsim import * 16 | 17 | device="bjt" 18 | region="bjt" 19 | mesh_name="bjt" 20 | 21 | import read_gmsh 22 | read_gmsh.run("bjt.msh", device, region, "Silicon", ("base", "collector", "emitter")) 23 | 24 | import netdoping 25 | netdoping.run(device, region) 26 | 27 | write_devices (file="bjt_doping.tec", type="tecplot") 28 | 29 | #import sys 30 | #sys.exit() 31 | 32 | import initial_guess 33 | initial_guess.run(device, region) 34 | 35 | import refinement 36 | refinement.run(device, region, outfile="bjt_bgmesh.pos", mincl=2.0e-6, maxcl=1e-4, pdiff=0.025) 37 | 38 | # this is is the devsim format 39 | write_devices (file="bjt_refine.tec", type="tecplot") 40 | 41 | -------------------------------------------------------------------------------- /simdir/bjt_restart.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 Devsim LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from devsim import * 16 | 17 | device="bjt" 18 | region="bjt" 19 | 20 | 21 | load_devices(file="bjt_dd_0.msh") 22 | from physics.new_physics import * 23 | 24 | import bjt_params 25 | bjt_params.run(device, region) 26 | 27 | import netdoping 28 | netdoping.set_params(device, region) 29 | 30 | from physics.new_physics import * 31 | SetSiliconParameters(device, region) 32 | 33 | #import setup_dd 34 | #setup_dd.run(device, region) 35 | 36 | # also in setup_dd 37 | set_parameter(device=device, region=region, name="T", value="300") 38 | set_parameter(device=device, region=region, name="taun", value=1e-5) 39 | set_parameter(device=device, region=region, name="taup", value=1e-5) 40 | set_parameter(device=device, region=region, name="n1", value=1e10) 41 | set_parameter(device=device, region=region, name="p1", value=1e10) 42 | 43 | for c in ("base", "emitter", "collector"): 44 | set_parameter(device=device, region=region, name=GetContactBiasName(c), value=0.0) 45 | solve(type="dc", absolute_error=1e6, relative_error=1e-1, maximum_iterations=40) 46 | write_devices (file="bjt_dd_1.msh", type="devsim") 47 | 48 | -------------------------------------------------------------------------------- /simdir/diode_1d.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 Devsim LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from devsim import * 16 | from physics.new_physics import * 17 | ##### 18 | # dio1 19 | # 20 | # Make doping a step function 21 | # print dat to text file for viewing in grace 22 | # verify currents analytically 23 | # in dio2 add recombination 24 | # 25 | 26 | #### 27 | #### Meshing 28 | #### 29 | def createMesh(device, region): 30 | create_1d_mesh(mesh="dio") 31 | add_1d_mesh_line(mesh="dio", pos=0, ps=1e-7, tag="top") 32 | add_1d_mesh_line(mesh="dio", pos=0.5e-5, ps=1e-9, tag="mid") 33 | add_1d_mesh_line(mesh="dio", pos=1e-5, ps=1e-7, tag="bot") 34 | add_1d_contact (mesh="dio", name="top", tag="top", material="metal") 35 | add_1d_contact (mesh="dio", name="bot", tag="bot", material="metal") 36 | add_1d_region (mesh="dio", material="Si", region=region, tag1="top", tag2="bot") 37 | finalize_mesh(mesh="dio") 38 | create_device(mesh="dio", device=device) 39 | 40 | device="MyDevice" 41 | region="MyRegion" 42 | 43 | createMesh(device, region) 44 | 45 | #### 46 | #### Set parameters for 300 K 47 | #### 48 | set_parameter(name="T", value=300) 49 | SetSiliconParameters(device, region) 50 | set_parameter(device=device, region=region, name="taun", value=1e-8) 51 | set_parameter(device=device, region=region, name="taup", value=1e-8) 52 | set_parameter(device=device, region=region, name="n1", value=1e10) 53 | set_parameter(device=device, region=region, name="p1", value=1e10) 54 | 55 | 56 | #### 57 | #### NetDoping 58 | #### 59 | CreateNodeModel(device, region, "Acceptors", "1.0e18*step(0.5e-5-x)") 60 | CreateNodeModel(device, region, "Donors", "1.0e18*step(x-0.5e-5)") 61 | CreateNodeModel(device, region, "NetDoping", "Donors-Acceptors") 62 | print_node_values(device=device, region=region, name="NetDoping") 63 | 64 | #### 65 | #### Create Potential, Potential@n0, Potential@n1 66 | #### 67 | CreateSolution(device, region, "Potential") 68 | 69 | #### 70 | #### Create potential only physical models 71 | #### 72 | CreateSiliconPotentialOnly(device, region) 73 | 74 | #### 75 | #### Set up the contacts applying a bias 76 | #### 77 | for i in get_contact_list(device=device): 78 | set_parameter(device=device, name=GetContactBiasName(i), value=0.0) 79 | CreateSiliconPotentialOnlyContact(device, region, i) 80 | 81 | 82 | #### 83 | #### Initial DC solution 84 | #### 85 | solve(type="dc", absolute_error=1.0, relative_error=1e-10, maximum_iterations=30) 86 | 87 | #### 88 | #### drift diffusion solution variables 89 | #### 90 | CreateSolution(device, region, "Electrons") 91 | CreateSolution(device, region, "Holes") 92 | 93 | CreateEField(device, region) 94 | CreateDField(device, region) 95 | opts = CreateAroraMobilityLF(device, region) 96 | opts = CreateHFMobility(device, region, **opts) 97 | #CreateHFMobility(device, region, **opts) 98 | 99 | set_parameter(device=device, region=region, name="BETAN", value=2.0) 100 | set_parameter(device=device, region=region, name="BETAP", value=1.0) 101 | set_parameter(device=device, region=region, name="VSATN0", value=2.4e7) 102 | set_parameter(device=device, region=region, name="VSATP0", value=2.4e7) 103 | set_parameter(device=device, region=region, name="VSATN.A", value=0.8) 104 | set_parameter(device=device, region=region, name="VSATP.A", value=0.8) 105 | 106 | 107 | #### 108 | #### create initial guess from dc only solution 109 | #### 110 | set_node_values(device=device, region=region, name="Electrons", init_from="IntrinsicElectrons") 111 | set_node_values(device=device, region=region, name="Holes", init_from="IntrinsicHoles") 112 | 113 | import physics.model_create 114 | #physics.model_create.debug=True 115 | ### 116 | ### Set up equations 117 | ### 118 | CreateSiliconDriftDiffusion(device, region, **opts) 119 | for i in get_contact_list(device=device): 120 | CreateSiliconDriftDiffusionContact(device, region, i, Jn=opts['Jn'], Jp=opts['Jp']) 121 | 122 | ### 123 | ### Drift diffusion simulation at equilibrium 124 | ### 125 | solve(type="dc", absolute_error=1e10, relative_error=1e-10, maximum_iterations=30) 126 | 127 | #### 128 | #### Ramp the bias to 0.5 Volts 129 | #### 130 | from physics.ramp import * 131 | v = 0.1 132 | while v < 0.51: 133 | set_parameter(device=device, name=GetContactBiasName("top"), value=v) 134 | solve(type="dc", absolute_error=1e11, relative_error=1e-1, maximum_iterations=30) 135 | PrintCurrents(device, "top") 136 | PrintCurrents(device, "bot") 137 | v += 0.1 138 | 139 | write_devices(file="diode_1d.tec", type="tecplot") 140 | import matplotlib 141 | import matplotlib.pyplot 142 | 143 | x=get_node_model_values(device=device, region=region, name="x") 144 | ymax = 10 145 | ymin = 10 146 | fields = ("Electrons", "Holes", "Donors", "Acceptors") 147 | for i in fields: 148 | y=get_node_model_values(device=device, region=region, name=i) 149 | if (max(y) > ymax): 150 | ymax = max(y) 151 | matplotlib.pyplot.semilogy(x, y) 152 | matplotlib.pyplot.xlabel('x (cm)') 153 | matplotlib.pyplot.ylabel('Density (#/cm^3)') 154 | matplotlib.pyplot.legend(fields) 155 | ymax *= 10 156 | matplotlib.pyplot.axis([min(x), max(x), ymin, ymax]) 157 | matplotlib.pyplot.savefig("diode_1d_density.eps") 158 | 159 | matplotlib.pyplot.clf() 160 | edge_average_model(device=device, region=region, node_model="x", edge_model="xmid") 161 | xmid=get_edge_model_values(device=device, region=region, name="xmid") 162 | #efields = ("Jn_arora_lf", "Jp_arora_lf" ) 163 | #efields = ("Jn", "Jp", "Jn_arora_lf", "Jp_arora_lf" ) 164 | efields = ("Jn", "Jp") 165 | y=get_edge_model_values(device=device, region=region, name=efields[0]) 166 | ymin=min(y) 167 | ymax=max(y) 168 | for i in efields: 169 | y=get_edge_model_values(device=device, region=region, name=i) 170 | if min(y) < ymin: 171 | ymin = min(y) 172 | elif max(y) > ymax: 173 | ymax = max(y) 174 | matplotlib.pyplot.plot(xmid, y) 175 | matplotlib.pyplot.xlabel('x (cm)') 176 | matplotlib.pyplot.ylabel('J (A/cm^2)') 177 | matplotlib.pyplot.legend(efields) 178 | matplotlib.pyplot.axis([min(x), max(x), 0.5*ymin, 2*ymax]) 179 | matplotlib.pyplot.savefig("diode_1d_current.eps") 180 | print ymin 181 | print ymax 182 | 183 | matplotlib.pyplot.clf() 184 | edge_average_model(device=device, region=region, node_model="x", edge_model="xmid") 185 | xmid=get_edge_model_values(device=device, region=region, name="xmid") 186 | efields = ("mu_arora_n_lf", "mu_arora_p_lf", "mu_n", "mu_p", ) 187 | #efields = ("Jn", "Jp", "Jn_arora_lf", "Jp_arora_lf" ) 188 | y=get_edge_model_values(device=device, region=region, name=efields[0]) 189 | ymin=min(y) 190 | ymax=max(y) 191 | for i in efields: 192 | y=get_edge_model_values(device=device, region=region, name=i) 193 | if min(y) < ymin: 194 | ymin = min(y) 195 | elif max(y) > ymax: 196 | ymax = max(y) 197 | matplotlib.pyplot.plot(xmid, y) 198 | matplotlib.pyplot.xlabel('x (cm)') 199 | matplotlib.pyplot.ylabel('J (A/cm^2)') 200 | matplotlib.pyplot.legend(efields) 201 | matplotlib.pyplot.axis([min(x), max(x), 0.5*ymin, 2*ymax]) 202 | matplotlib.pyplot.savefig("diode_1d_mobility.eps") 203 | print ymin 204 | print ymax 205 | 206 | 207 | #x=get_node_model_values(device=device, region=region, name="x") 208 | ymax = 10 209 | ymin = 10 210 | fields = ("USRH",) 211 | for i in fields: 212 | y=get_node_model_values(device=device, region=region, name=i) 213 | if (max(y) > ymax): 214 | ymax = max(y) 215 | matplotlib.pyplot.semilogy(x, y) 216 | matplotlib.pyplot.xlabel('x (cm)') 217 | matplotlib.pyplot.ylabel('Density (#/cm^3)') 218 | matplotlib.pyplot.legend(fields) 219 | ymax *= 10 220 | matplotlib.pyplot.axis([min(x), max(x), ymin, ymax]) 221 | matplotlib.pyplot.savefig("USRH.eps") 222 | 223 | -------------------------------------------------------------------------------- /simdir/initial_guess.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 Devsim LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from devsim import * 16 | from physics.new_physics import * 17 | 18 | def run(device, region): 19 | 20 | # this is our solution variable 21 | CreateSolution(device, region, "Potential") 22 | # start with temperature as a model and not a parameter 23 | set_parameter(device=device, name="T", value="300") 24 | 25 | CreateSiliconPotentialOnly(device, region) 26 | for i in get_contact_list(device=device): 27 | set_parameter(device=device, name=GetContactBiasName(i), value=0.0) 28 | CreateSiliconPotentialOnlyContact(device, region, i) 29 | 30 | #### 31 | #### Initial DC solution 32 | #### 33 | solve(type="dc", absolute_error=1.0, relative_error=1e-9, maximum_iterations=40) 34 | 35 | -------------------------------------------------------------------------------- /simdir/netdoping.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 Devsim LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from devsim import * 16 | 17 | def set_params(device, region): 18 | params = { 19 | 'base_center' : 13.75e-4, 20 | 'base_depth' : 1.3e-4, 21 | 'base_doping' : 1e17, 22 | 'base_hdiff' : 1.0e-5, 23 | 'base_vdiff' : 1.0e-5, 24 | 'base_width' : 20e-4, 25 | 'collector_doping' : 1e16, 26 | 'emitter_center' : 20e-4, 27 | 'emitter_depth' : 1.0e-4, 28 | 'emitter_doping' : 1e19, 29 | 'emitter_hdiff' : 1.0e-5, 30 | 'emitter_vdiff' : 1.0e-5, 31 | 'emitter_width' : 5e-4, 32 | 'sub_collector_center' : 13.75e-4, 33 | 'sub_collector_depth' : 4e-4, 34 | 'sub_collector_doping' : 1e19, 35 | 'sub_collector_hdiff' : 1.0e-5, 36 | 'sub_collector_vdiff' : 1.0e-5, 37 | 'sub_collector_width' : 30e-4, 38 | } 39 | for k, v in params.items(): 40 | set_parameter(device=device, region=region, name=k, value=v) 41 | 42 | #### 43 | #### NetDoping 44 | #### 45 | def run(device, region): 46 | set_params(device, region) 47 | node_model(device=device, region=region, name="Acceptors", equation=''' 48 | base_doping 49 | * erfc((y-base_depth)/base_vdiff) 50 | * erfc(-(x + 0.5*base_width-base_center)/base_hdiff) 51 | * erfc((x - 0.5*base_width-base_center)/base_hdiff) 52 | ''') 53 | node_model(device=device, region=region, name="Donors", equation=''' 54 | emitter_doping 55 | * erfc((y-emitter_depth)/emitter_vdiff) 56 | * erfc(-(x + 0.5*emitter_width-emitter_center)/emitter_hdiff) 57 | * erfc((x - 0.5*emitter_width-emitter_center)/emitter_hdiff) 58 | + collector_doping 59 | + sub_collector_doping 60 | * erfc(-(y-sub_collector_depth)/sub_collector_vdiff) 61 | * erfc(-(x + 0.5*sub_collector_width-sub_collector_center)/sub_collector_hdiff) 62 | * erfc((x - 0.5*sub_collector_width-sub_collector_center)/sub_collector_hdiff) 63 | ''') 64 | node_model(device=device, region=region, name="NetDoping", equation="Donors-Acceptors;") 65 | node_model(device=device, region=region, name="LogNetDoping", equation="asinh(Donors-Acceptors/2)/log(10)") 66 | 67 | 68 | -------------------------------------------------------------------------------- /simdir/physics/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devsim/devsim_bjt_example/9987be11e20c3a14109763550d4de6be77cea6a5/simdir/physics/__init__.py -------------------------------------------------------------------------------- /simdir/physics/model_create.py: -------------------------------------------------------------------------------- 1 | # Copyright 2013 Devsim LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from devsim import * 16 | debug = False 17 | def CreateSolution(device, region, name): 18 | ''' 19 | Creates solution variables 20 | As well as their entries on each edge 21 | ''' 22 | node_solution(name=name, device=device, region=region) 23 | edge_from_node_model(node_model=name, device=device, region=region) 24 | 25 | def CreateNodeModel(device, region, model, expression): 26 | ''' 27 | Creates a node model 28 | ''' 29 | result=node_model(device=device, region=region, name=model, equation=expression) 30 | if debug: 31 | print(("NODEMODEL {d} {r} {m} \"{re}\"".format(d=device, r=region, m=model, re=result))) 32 | 33 | def CreateNodeModelDerivative(device, region, model, expression, *vars): 34 | ''' 35 | Create a node model derivative 36 | ''' 37 | for v in vars: 38 | CreateNodeModel(device, region, 39 | "{m}:{v}".format(m=model, v=v), 40 | "diff({e},{v})".format(e=expression, v=v)) 41 | #"simplify(diff({e},{v}))".format(e=expression, v=v)) 42 | 43 | 44 | def CreateContactNodeModel(device, contact, model, expression): 45 | ''' 46 | Creates a contact node model 47 | ''' 48 | result=contact_node_model(device=device, contact=contact, name=model, equation=expression) 49 | if debug: 50 | print(("CONTACTNODEMODEL {d} {c} {m} \"{re}\"".format(d=device, c=contact, m=model, re=result))) 51 | 52 | 53 | def CreateContactNodeModelDerivative(device, contact, model, expression, variable): 54 | ''' 55 | Creates a contact node model derivative 56 | ''' 57 | CreateContactNodeModel(device, contact, 58 | "{m}:{v}".format(m=model, v=variable), 59 | "diff({e}, {v})".format(e=expression, v=variable)) 60 | #"simplify(diff({e}, {v}))".format(e=expression, v=variable)) 61 | 62 | def CreateEdgeModel (device, region, model, expression): 63 | ''' 64 | Creates an edge model 65 | ''' 66 | result=edge_model(device=device, region=region, name=model, equation=expression) 67 | if debug: 68 | print("EDGEMODEL {d} {r} {m} \"{re}\"".format(d=device, r=region, m=model, re=result)); 69 | 70 | def CreateEdgeModelDerivatives(device, region, model, expression, variable): 71 | ''' 72 | Creates edge model derivatives 73 | ''' 74 | CreateEdgeModel(device, region, 75 | "{m}:{v}@n0".format(m=model, v=variable), 76 | "diff({e}, {v}@n0)".format(e=expression, v=variable)) 77 | #"simplify(diff({e}, {v}@n0))".format(e=expression, v=variable)) 78 | CreateEdgeModel(device, region, 79 | "{m}:{v}@n1".format(m=model, v=variable), 80 | "diff({e}, {v}@n1)".format(e=expression, v=variable)) 81 | #"simplify(diff({e}, {v}@n1))".format(e=expression, v=variable)) 82 | 83 | def CreateContactEdgeModel(device, contact, model, expression): 84 | ''' 85 | Creates a contact edge model 86 | ''' 87 | result=contact_edge_model(device=device, contact=contact, name=model, equation=expression) 88 | if debug: 89 | print(("CONTACTEDGEMODEL {d} {c} {m} \"{re}\"".format(d=device, c=contact, m=model, re=result))) 90 | 91 | def CreateContactEdgeModelDerivative(device, contact, model, expression, variable): 92 | ''' 93 | Creates contact edge model derivatives with respect to variable on node 94 | ''' 95 | CreateContactEdgeModel(device, contact, "{m}:{v}".format(m=model, v=variable), "diff({e}, {v})".format(e=expression, v=variable)) 96 | #CreateContactEdgeModel(device, contact, "{m}:{v}".format(m=model, v=variable), "simplify(diff({e}, {v}))".format(e=expression, v=variable)) 97 | 98 | def CreateInterfaceModel(device, interface, model, expression): 99 | ''' 100 | Creates a interface node model 101 | ''' 102 | result=interface_model(device=device, interface=interface, name=model, equation=expression) 103 | if debug: 104 | print(("INTERFACEMODEL {d} {i} {m} \"{re}\"".format(d=device, i=interface, m=model, re=result))) 105 | 106 | #def CreateInterfaceModelDerivative(device, interface, model, expression, variable): 107 | # ''' 108 | # Creates interface edge model derivatives with respect to variable on node 109 | # ''' 110 | # CreateInterfaceModel(device, interface, "{m}:{v}".format(m=model, v=variable), "simplify(diff({e}, {v}))".format(e=expression, v=variable)) 111 | 112 | def CreateContinuousInterfaceModel(device, interface, variable): 113 | mname = "continuous{0}".format(variable) 114 | meq = "{0}@r0 - {0}@r1".format(variable) 115 | mname0 = "{0}:{1}@r0".format(mname, variable) 116 | mname1 = "{0}:{1}@r1".format(mname, variable) 117 | CreateInterfaceModel(device, interface, mname, meq) 118 | CreateInterfaceModel(device, interface, mname0, "1") 119 | CreateInterfaceModel(device, interface, mname1, "-1") 120 | return mname 121 | 122 | 123 | def InEdgeModelList(device, region, model): 124 | ''' 125 | Checks to see if this edge model is available on device and region 126 | ''' 127 | return model in get_edge_model_list(device=device, region=region) 128 | 129 | def InNodeModelList(device, region, model): 130 | ''' 131 | Checks to see if this node model is available on device and region 132 | ''' 133 | return model in get_node_model_list(device=device, region=region) 134 | 135 | #### Make sure that the model exists, as well as it's node model 136 | def EnsureEdgeFromNodeModelExists(device, region, nodemodel): 137 | ''' 138 | Checks if the edge models exists 139 | ''' 140 | if not InNodeModelList(device, region, nodemodel): 141 | raise "{} must exist" 142 | 143 | emlist = get_edge_model_list(device=device, region=region) 144 | emtest = ("{0}@n0".format(nodemodel) and "{0}@n1".format(nodemodel)) 145 | if not emtest: 146 | if debug: 147 | print("INFO: Creating ${0}@n0 and ${0}@n1".format(nodemodel)) 148 | edge_from_node_model(device=device, region=region, node_model=nodemodel) 149 | 150 | def CreateElementModel2d(device, region, model, expression): 151 | result=element_model(device=device, region=region, name=model, equation=expression) 152 | if debug: 153 | print(("ELEMENTMODEL {d} {r} {m} \"{re}\"".format(d=device, r=region, m=model, re=result))) 154 | 155 | 156 | def CreateElementModelDerivative2d(device, region, model_name, expression, *args): 157 | if len(args) == 0: 158 | raise ValueError("Must specify a list of variable names") 159 | for i in args: 160 | for j in ("@en0", "@en1", "@en2"): 161 | CreateElementModel2d(device, region, "{0}:{1}{2}".format(model_name, i, j), "diff({0}, {1}{2})".format(expression, i, j)) 162 | 163 | ### edge_model is the name of the edge model to be created 164 | def CreateGeometricMean(device, region, nmodel, emodel): 165 | edge_average_model(device=device, region=region, edge_model=emodel, node_model=nmodel, average_type="geometric") 166 | 167 | def CreateGeometricMeanDerivative(device, region, nmodel, emodel, *args): 168 | if len(args) == 0: 169 | raise ValueError("Must specify a list of variable names") 170 | for i in args: 171 | edge_average_model(device=device, region=region, edge_model=emodel, node_model=nmodel, 172 | derivative=i, average_type="geometric") 173 | 174 | def CreateArithmeticMean(device, region, nmodel, emodel): 175 | edge_average_model(device=device, region=region, edge_model=emodel, node_model=nmodel, average_type="arithmetic") 176 | 177 | def CreateArithmeticMeanDerivative(device, region, nmodel, emodel, *args): 178 | if len(args) == 0: 179 | raise ValueError("Must specify a list of variable names") 180 | for i in args: 181 | edge_average_model(device=device, region=region, edge_model=emodel, node_model=nmodel, 182 | derivative=i, average_type="arithmetic") 183 | 184 | -------------------------------------------------------------------------------- /simdir/physics/new_physics.py: -------------------------------------------------------------------------------- 1 | # Copyright 2013 Devsim LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from devsim import * 16 | from .model_create import * 17 | 18 | def SetUniversalParameters(device, region): 19 | universal = { 20 | 'q' : 1.6e-19, #, 'coul'), 21 | 'k' : 1.3806503e-23, #, 'J/K'), 22 | 'Permittivity_0' : 8.85e-14 #, 'F/cm^2') 23 | } 24 | for k, v in universal.items(): 25 | set_parameter(device=device, region=region, name=k, value=v) 26 | 27 | 28 | 29 | def SetSiliconParameters(device, region): 30 | ''' 31 | Sets Silicon device parameters on the specified region. 32 | ''' 33 | 34 | SetUniversalParameters(device, region) 35 | 36 | ##D. B. M. Klaassen, J. W. Slotboom, and H. C. de Graaff, "Unified apparent bandgap narrowing in n- and p-type Silicon," Solid-State Electronics, vol. 35, no. 2, pp. 125-29, 1992. 37 | par = { 38 | 'Permittivity' : 11.1*get_parameter(device=device, region=region, name='Permittivity_0'), 39 | 'NC300' : 2.8e19, # '1/cm^3' 40 | 'NV300' : 3.1e19, # '1/cm^3' 41 | 'EG300' : 1.12, # 'eV' 42 | 'EGALPH' : 2.73e-4, # 'eV/K' 43 | 'EGBETA' : 0 , # 'K' 44 | 'Affinity' : 4.05 , # 'K' 45 | # Canali model 46 | 'BETAN0' : 2.57e-2, # '1' 47 | 'BETANE' : 0.66, # '1' 48 | 'BETAP0' : 0.46, # '1' 49 | 'BETAPE' : 0.17, # '1' 50 | 'VSATN0' : 1.43e9, 51 | 'VSATNE' : -0.87, 52 | 'VSATP0' : 1.62e8, 53 | 'VSATPE' : -0.52, 54 | # Arora model 55 | 'MUMN' : 88, 56 | 'MUMEN' : -0.57, 57 | 'MU0N' : 7.4e8, 58 | 'MU0EN' : -2.33, 59 | 'NREFN' : 1.26e17, 60 | 'NREFNE' : 2.4, 61 | 'ALPHA0N' : 0.88, 62 | 'ALPHAEN' : -0.146, 63 | 'MUMP' : 54.3, 64 | 'MUMEP' : -0.57, 65 | 'MU0P' : 1.36e8, 66 | 'MU0EP' : -2.23, 67 | 'NREFP' : 2.35e17, 68 | 'NREFPE' : 2.4, 69 | 'ALPHA0P' : 0.88, 70 | 'ALPHAEP' : -0.146, 71 | # SRH 72 | "taun" : 1e-5, 73 | "taup" : 1e-5, 74 | "n1" : 1e10, 75 | "p1" : 1e10, 76 | # TEMP 77 | "T" : 300 78 | } 79 | 80 | for k, v in par.items(): 81 | set_parameter(device=device, region=region, name=k, value=v) 82 | 83 | def CreateQuasiFermiLevels(device, region, electron_model, hole_model, variables): 84 | ''' 85 | Creates the models for the quasi-Fermi levels. Assuming Boltzmann statistics. 86 | ''' 87 | eq = ( 88 | ('EFN', 'EC + V_t * log(%s/NC)' % electron_model, ('Potential', 'Electrons')), 89 | ('EFP', 'EV - V_t * log(%s/NV)' % hole_model, ('Potential', 'Holes')), 90 | ) 91 | for (model, equation, variable_list) in eq: 92 | #print "MODEL: " + model + " equation " + equation 93 | CreateNodeModel(device, region, model, equation) 94 | vset = set(variable_list) 95 | for v in variables: 96 | if v in vset: 97 | CreateNodeModelDerivative(device, region, model, equation, v) 98 | 99 | def CreateDensityOfStates(device, region, variables): 100 | ''' 101 | Set up models for density of states. 102 | Neglects Bandgap narrowing. 103 | ''' 104 | eq = ( 105 | ('NC', 'NC300 * (T/300)^1.5', ('T',)), 106 | ('NV', 'NV300 * (T/300)^1.5', ('T',)), 107 | ('NTOT', 'Donors + Acceptors', ()), 108 | # Band Gap Narrowing 109 | ('DEG', '0', ()), 110 | #('DEG', 'V0.BGN * (log(NTOT/N0.BGN) + ((log(NTOT/N0.BGN)^2 + CON.BGN)^(0.5)))', ()), 111 | ('EG', 'EG300 + EGALPH*((300^2)/(300+EGBETA) - (T^2)/(T+EGBETA)) - DEG', ('T')), 112 | ('NIE', '((NC * NV)^0.5) * exp(-EG/(2*V_t))*exp(DEG)', ('T')), 113 | ('EC', '-Potential - Affinity - DEG/2', ('Potential',)), 114 | ('EV', 'EC - EG + DEG/2', ('Potential', 'T')), 115 | ('EI', '0.5 * (EC + EV + V_t*log(NC/NV))', ('Potential', 'T')), 116 | ) 117 | 118 | for (model, equation, variable_list) in eq: 119 | #print "MODEL: " + model + " equation " + equation 120 | CreateNodeModel(device, region, model, equation) 121 | vset = set(variable_list) 122 | for v in variables: 123 | if v in vset: 124 | CreateNodeModelDerivative(device, region, model, equation, v) 125 | 126 | 127 | def GetContactBiasName(contact): 128 | return "{0}_bias".format(contact) 129 | 130 | def GetContactNodeModelName(contact): 131 | return "{0}nodemodel".format(contact) 132 | 133 | 134 | def CreateVT(device, region, variables): 135 | ''' 136 | Calculates the thermal voltage, based on the temperature. 137 | V_t : node model 138 | V_t_edge : edge model from arithmetic mean 139 | ''' 140 | CreateNodeModel(device, region, 'V_t', "k*T/q") 141 | CreateArithmeticMean(device, region, 'V_t', 'V_t_edge') 142 | if 'T' in variables: 143 | CreateArithmeticMeanDerivative(device, region, 'V_t', 'V_t_edge', 'T') 144 | 145 | 146 | def CreateEField(device, region): 147 | ''' 148 | Creates the EField and DField. 149 | ''' 150 | edge_average_model(device=device, region=region, node_model="Potential", 151 | edge_model="EField", average_type="negative_gradient") 152 | edge_average_model(device=device, region=region, node_model="Potential", 153 | edge_model="EField", average_type="negative_gradient", derivative="Potential") 154 | 155 | def CreateDField(device, region): 156 | CreateEdgeModel(device, region, "DField", "Permittivity * EField") 157 | CreateEdgeModel(device, region, "DField:Potential@n0", "Permittivity * EField:Potential@n0") 158 | CreateEdgeModel(device, region, "DField:Potential@n1", "Permittivity * EField:Potential@n1") 159 | 160 | def CreateSiliconPotentialOnly(device, region): 161 | ''' 162 | Creates the physical models for a Silicon region for equilibrium simulation. 163 | ''' 164 | 165 | variables = ("Potential",) 166 | CreateVT(device, region, variables) 167 | CreateDensityOfStates(device, region, variables) 168 | 169 | SetSiliconParameters(device, region) 170 | 171 | # require NetDoping 172 | for i in ( 173 | ("IntrinsicElectrons", "NIE*exp(Potential/V_t)"), 174 | ("IntrinsicHoles", "NIE^2/IntrinsicElectrons"), 175 | ("IntrinsicCharge", "kahan3(IntrinsicHoles, -IntrinsicElectrons, NetDoping)"), 176 | ("PotentialIntrinsicCharge", "-q * IntrinsicCharge") 177 | ): 178 | n = i[0] 179 | e = i[1] 180 | CreateNodeModel(device, region, n, e) 181 | CreateNodeModelDerivative(device, region, n, e, 'Potential') 182 | 183 | CreateQuasiFermiLevels(device, region, 'IntrinsicElectrons', 'IntrinsicHoles', variables) 184 | 185 | CreateEField(device, region) 186 | CreateDField(device, region) 187 | 188 | equation(device=device, region=region, name="PotentialEquation", variable_name="Potential", 189 | node_model="PotentialIntrinsicCharge", edge_model="DField", variable_update="log_damp") 190 | 191 | def CreateSiliconPotentialOnlyContact(device, region, contact, is_circuit=False): 192 | ''' 193 | Creates the potential equation at the contact 194 | if is_circuit is true, than use node given by GetContactBiasName 195 | ''' 196 | if not InNodeModelList(device, region, "contactcharge_node"): 197 | CreateNodeModel(device, region, "contactcharge_node", "q*IntrinsicCharge") 198 | 199 | celec_model = "(1e-10 + 0.5*abs(NetDoping+(NetDoping^2 + 4 * NIE^2)^(0.5)))" 200 | chole_model = "(1e-10 + 0.5*abs(-NetDoping+(NetDoping^2 + 4 * NIE^2)^(0.5)))" 201 | contact_model = "Potential -{0} + ifelse(NetDoping > 0, \ 202 | -V_t*log({1}/NIE), \ 203 | V_t*log({2}/NIE))".format(GetContactBiasName(contact), celec_model, chole_model) 204 | 205 | contact_model_name = GetContactNodeModelName(contact) 206 | CreateContactNodeModel(device, contact, contact_model_name, contact_model) 207 | CreateContactNodeModel(device, contact, "{0}:{1}".format(contact_model_name,"Potential"), "1") 208 | if is_circuit: 209 | CreateContactNodeModel(device, contact, "{0}:{1}".format(contact_model_name,GetContactBiasName(contact)), "-1") 210 | 211 | if is_circuit: 212 | contact_equation(device=device, contact=contact, name="PotentialEquation", 213 | node_model=contact_model_name, edge_model="", 214 | node_charge_model="contactcharge_node", edge_charge_model="DField", 215 | node_current_model="", edge_current_model="", circuit_node=GetContactBiasName(contact)) 216 | else: 217 | contact_equation(device=device, contact=contact, name="PotentialEquation", 218 | node_model=contact_model_name, edge_model="", 219 | node_charge_model="contactcharge_node", edge_charge_model="DField", 220 | node_current_model="", edge_current_model="") 221 | 222 | 223 | def CreateSRH(device, region, variables): 224 | ''' 225 | Shockley Read hall recombination model in terms of generation. 226 | ''' 227 | USRH="(Electrons*Holes - NIE^2)/(taup*(Electrons + n1) + taun*(Holes + p1))" 228 | Gn = "-q * USRH" 229 | Gp = "+q * USRH" 230 | CreateNodeModel(device, region, "USRH", USRH) 231 | CreateNodeModel(device, region, "ElectronGeneration", Gn) 232 | CreateNodeModel(device, region, "HoleGeneration", Gp) 233 | for i in ("Electrons", "Holes", "T"): 234 | if i in variables: 235 | CreateNodeModelDerivative(device, region, "USRH", USRH, i) 236 | CreateNodeModelDerivative(device, region, "ElectronGeneration", Gn, i) 237 | CreateNodeModelDerivative(device, region, "HoleGeneration", Gp, i) 238 | 239 | def CreateECE(device, region, Jn): 240 | ''' 241 | Electron Continuity Equation using specified equation for Jn 242 | ''' 243 | NCharge = "q * Electrons" 244 | CreateNodeModel(device, region, "NCharge", NCharge) 245 | CreateNodeModelDerivative(device, region, "NCharge", NCharge, "Electrons") 246 | 247 | equation(device=device, region=region, name="ElectronContinuityEquation", variable_name="Electrons", 248 | time_node_model = "NCharge", 249 | edge_model=Jn, variable_update="positive", node_model="ElectronGeneration") 250 | 251 | def CreateHCE(device, region, Jp): 252 | ''' 253 | Hole Continuity Equation using specified equation for Jp 254 | ''' 255 | PCharge = "-q * Holes" 256 | CreateNodeModel(device, region, "PCharge", PCharge) 257 | CreateNodeModelDerivative(device, region, "PCharge", PCharge, "Holes") 258 | 259 | equation(device=device, region=region, name="HoleContinuityEquation", variable_name="Holes", 260 | time_node_model = "PCharge", 261 | edge_model=Jp, variable_update="positive", node_model="HoleGeneration") 262 | 263 | def CreatePE(device, region): 264 | ''' 265 | Create Poisson Equation assuming the Electrons and Holes as solution variables 266 | ''' 267 | pne = "-q*kahan3(Holes, -Electrons, NetDoping)" 268 | CreateNodeModel(device, region, "PotentialNodeCharge", pne) 269 | CreateNodeModelDerivative(device, region, "PotentialNodeCharge", pne, "Electrons") 270 | CreateNodeModelDerivative(device, region, "PotentialNodeCharge", pne, "Holes") 271 | 272 | equation(device=device, region=region, name="PotentialEquation", variable_name="Potential", 273 | node_model="PotentialNodeCharge", edge_model="DField", 274 | time_node_model="", variable_update="log_damp") 275 | 276 | 277 | def CreateSiliconDriftDiffusion(device, region, mu_n="mu_n", mu_p="mu_p", Jn='Jn', Jp='Jp'): 278 | ''' 279 | Instantiate all equations for drift diffusion simulation 280 | ''' 281 | CreateDensityOfStates(device, region, ("Potential",)) 282 | CreateQuasiFermiLevels(device, region, "Electrons", "Holes", ("Electrons", "Holes", "Potential")) 283 | CreatePE(device, region) 284 | CreateSRH(device, region, ("Electrons", "Holes", "Potential")) 285 | CreateECE(device, region, Jn) 286 | CreateHCE(device, region, Jp) 287 | 288 | 289 | def CreateSiliconDriftDiffusionContact(device, region, contact, Jn, Jp, is_circuit=False): 290 | ''' 291 | Restrict electrons and holes to their equilibrium values 292 | Integrates current into circuit 293 | ''' 294 | CreateSiliconPotentialOnlyContact(device, region, contact, is_circuit) 295 | 296 | celec_model = "(1e-10 + 0.5*abs(NetDoping+(NetDoping^2 + 4 * NIE^2)^(0.5)))" 297 | chole_model = "(1e-10 + 0.5*abs(-NetDoping+(NetDoping^2 + 4 * NIE^2)^(0.5)))" 298 | contact_electrons_model = "Electrons - ifelse(NetDoping > 0, {0}, NIE^2/{1})".format(celec_model, chole_model) 299 | contact_holes_model = "Holes - ifelse(NetDoping < 0, +{1}, +NIE^2/{0})".format(celec_model, chole_model) 300 | contact_electrons_name = "{0}nodeelectrons".format(contact) 301 | contact_holes_name = "{0}nodeholes".format(contact) 302 | 303 | CreateContactNodeModel(device, contact, contact_electrons_name, contact_electrons_model) 304 | CreateContactNodeModel(device, contact, "{0}:{1}".format(contact_electrons_name, "Electrons"), "1") 305 | 306 | CreateContactNodeModel(device, contact, contact_holes_name, contact_holes_model) 307 | CreateContactNodeModel(device, contact, "{0}:{1}".format(contact_holes_name, "Holes"), "1") 308 | 309 | if is_circuit: 310 | contact_equation(device=device, contact=contact, name="ElectronContinuityEquation", 311 | node_model=contact_electrons_name, 312 | edge_current_model=Jn, circuit_node=GetContactBiasName(contact)) 313 | 314 | contact_equation(device=device, contact=contact, name="HoleContinuityEquation", 315 | node_model=contact_holes_name, 316 | edge_current_model=Jp, circuit_node=GetContactBiasName(contact)) 317 | 318 | else: 319 | contact_equation(device=device, contact=contact, name="ElectronContinuityEquation", 320 | node_model=contact_electrons_name, 321 | edge_current_model=Jn) 322 | 323 | contact_equation(device=device, contact=contact, name="HoleContinuityEquation", 324 | node_model=contact_holes_name, 325 | edge_current_model=Jp) 326 | 327 | 328 | def CreateBernoulliString (Potential="Potential", scaling_variable="V_t", sign=-1): 329 | ''' 330 | Creates the Bernoulli function for Scharfetter Gummel 331 | sign -1 for potential 332 | sign +1 for energy 333 | scaling variable should be V_t 334 | Potential should be scaled by V_t in V 335 | Ec, Ev should scaled by V_t in eV 336 | 337 | returns the Bernoulli expression and its argument 338 | Caller should understand that B(-x) = B(x) + x 339 | ''' 340 | 341 | tdict = { 342 | "Potential" : Potential, 343 | "V_t" : scaling_variable 344 | } 345 | #### test for requisite models here 346 | if sign == -1: 347 | vdiff="(%(Potential)s@n0 - %(Potential)s@n1)/%(V_t)s" % tdict 348 | elif sign == 1: 349 | vdiff="(%(Potential)s@n1 - %(Potential)s@n0)/%(V_t)s" % tdict 350 | else: 351 | raise NameError("Invalid Sign %s" % sign) 352 | 353 | Bern01 = "B(%s)" % vdiff 354 | return (Bern01, vdiff) 355 | 356 | 357 | def CreateElectronCurrent(device, region, mu_n, Potential="Potential", sign=-1, ElectronCurrent="ElectronCurrent", V_t="V_t_edge"): 358 | ''' 359 | Electron current 360 | mu_n = mobility name 361 | Potential is the driving potential 362 | ''' 363 | EnsureEdgeFromNodeModelExists(device, region, "Potential") 364 | EnsureEdgeFromNodeModelExists(device, region, "Electrons") 365 | EnsureEdgeFromNodeModelExists(device, region, "Holes") 366 | if Potential == "Potential": 367 | (Bern01, vdiff) = CreateBernoulliString(scaling_variable=V_t, Potential=Potential, sign=sign) 368 | else: 369 | raise NameError("Implement proper call") 370 | 371 | tdict = { 372 | 'Bern01' : Bern01, 373 | 'vdiff' : vdiff, 374 | 'mu_n' : mu_n, 375 | 'V_t' : V_t 376 | } 377 | 378 | Jn = "q*%(mu_n)s*EdgeInverseLength*%(V_t)s*kahan3(Electrons@n1*%(Bern01)s, Electrons@n1*%(vdiff)s, -Electrons@n0*%(Bern01)s)" % tdict 379 | 380 | CreateEdgeModel(device, region, ElectronCurrent, Jn) 381 | for i in ("Electrons", "Potential", "Holes"): 382 | CreateEdgeModelDerivatives(device, region, ElectronCurrent, Jn, i) 383 | 384 | def CreateHoleCurrent(device, region, mu_p, Potential="Potential", sign=-1, HoleCurrent="HoleCurrent", V_t="V_t_edge"): 385 | ''' 386 | Hole current 387 | ''' 388 | EnsureEdgeFromNodeModelExists(device, region, "Potential") 389 | EnsureEdgeFromNodeModelExists(device, region, "Electrons") 390 | EnsureEdgeFromNodeModelExists(device, region, "Holes") 391 | # Make sure the bernoulli functions exist 392 | if Potential == "Potential": 393 | (Bern01, vdiff) = CreateBernoulliString(scaling_variable=V_t, Potential=Potential, sign=sign) 394 | else: 395 | raise NameError("Implement proper call for " + Potential) 396 | 397 | tdict = { 398 | 'Bern01' : Bern01, 399 | 'vdiff' : vdiff, 400 | 'mu_p' : mu_p, 401 | 'V_t' : V_t 402 | } 403 | 404 | Jp ="-q*%(mu_p)s*EdgeInverseLength*%(V_t)s*kahan3(Holes@n1*%(Bern01)s, -Holes@n0*%(Bern01)s, -Holes@n0*%(vdiff)s)" % tdict 405 | CreateEdgeModel(device, region, HoleCurrent, Jp) 406 | for i in ("Holes", "Potential", "Electrons"): 407 | CreateEdgeModelDerivatives(device, region, HoleCurrent, Jp, i) 408 | 409 | def CreateAroraMobilityLF(device, region): 410 | ''' 411 | Creates node mobility models and then averages them on edge 412 | Uses model from Muller and Kamins 413 | Add T derivative dependence later 414 | ''' 415 | models = ( 416 | ('Tn', 'T/300'), 417 | ('mu_arora_n_node', 418 | 'MUMN * pow(Tn, MUMEN) + (MU0N * pow(T, MU0EN))/(1 + pow((NTOT/(NREFN*pow(Tn, NREFNE))), ALPHA0N*pow(Tn, ALPHAEN)))'), 419 | ('mu_arora_p_node', 420 | 'MUMP * pow(Tn, MUMEP) + (MU0P * pow(T, MU0EP))/(1 + pow((NTOT/(NREFP*pow(Tn, NREFPE))), ALPHA0P*pow(Tn, ALPHAEP)))') 421 | ) 422 | 423 | for k, v in models: 424 | CreateNodeModel(device, region, k, v) 425 | CreateArithmeticMean(device, region, 'mu_arora_n_node', 'mu_arora_n_lf') 426 | CreateArithmeticMean(device, region, 'mu_arora_p_node', 'mu_arora_p_lf') 427 | CreateElectronCurrent(device, region, mu_n = 'mu_arora_n_lf', Potential="Potential", sign=-1, ElectronCurrent="Jn_arora_lf", V_t="V_t_edge") 428 | CreateHoleCurrent(device, region, mu_p = 'mu_arora_p_lf', Potential="Potential", sign=-1, HoleCurrent="Jp_arora_lf", V_t="V_t_edge") 429 | return { 430 | 'mu_n' : 'mu_arora_n_lf', 431 | 'mu_p' : 'mu_arora_p_lf', 432 | 'Jn' : 'Jn_arora_lf', 433 | 'Jp' : 'Jp_arora_lf', 434 | } 435 | 436 | 437 | def CreateHFMobility(device, region, mu_n, mu_p, Jn, Jp): 438 | ''' 439 | Add T derivatives when debugged 440 | use parameters to set model flags 441 | Caughey Thomas 442 | ''' 443 | 444 | tdict = { 445 | 'Jn' : Jn, 446 | 'mu_n' : mu_n, 447 | 'Jp' : Jp, 448 | 'mu_p' : mu_p 449 | } 450 | tlist = ( 451 | ("vsat_n", "VSATN0 * pow(T, VSATNE)" % tdict, ('T')), 452 | ("beta_n", "BETAN0 * pow(T, BETANE)" % tdict, ('T')), 453 | ("Epar_n", 454 | "ifelse((%(Jn)s * EField) > 0, abs(EField), 1e-15)" % tdict, ('Potential')), 455 | ("mu_n", "%(mu_n)s * pow(1 + pow((%(mu_n)s*Epar_n/vsat_n), beta_n), -1/beta_n)" 456 | % tdict, ('Electrons', 'Holes', 'Potential', 'T')), 457 | ("vsat_p", "VSATP0 * pow(T, VSATPE)" % tdict, ('T')), 458 | ("beta_p", "BETAP0 * pow(T, BETAPE)" % tdict, ('T')), 459 | ("Epar_p", 460 | "ifelse((%(Jp)s * EField) > 0, abs(EField), 1e-15)" % tdict, ('Potential')), 461 | ("mu_p", "%(mu_p)s * pow(1 + pow(%(mu_p)s*Epar_p/vsat_p, beta_p), -1/beta_p)" 462 | % tdict, ('Electrons', 'Holes', 'Potential', 'T')), 463 | ) 464 | 465 | variable_list = ('Electrons', 'Holes', 'Potential') 466 | for (model, equation, variables) in tlist: 467 | CreateEdgeModel(device, region, model, equation) 468 | for v in variable_list: 469 | if v in variables: 470 | CreateEdgeModelDerivatives(device, region, model, equation, v) 471 | 472 | # This create derivatives automatically 473 | CreateElectronCurrent(device, region, mu_n='mu_n', Potential="Potential", sign=-1, ElectronCurrent="Jn", V_t="V_t_edge") 474 | CreateHoleCurrent( device, region, mu_p='mu_p', Potential="Potential", sign=-1, HoleCurrent="Jp", V_t="V_t_edge") 475 | return { 476 | 'mu_n' : 'mu_n', 477 | 'mu_p' : 'mu_p', 478 | 'Jn' : 'Jn', 479 | 'Jp' : 'Jp', 480 | } 481 | 482 | 483 | 484 | 485 | -------------------------------------------------------------------------------- /simdir/physics/ramp2.py: -------------------------------------------------------------------------------- 1 | # Copyright 2013 Devsim LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | import sys 16 | import devsim 17 | from .new_physics import * 18 | 19 | ### modify to grow and shrink size 20 | def rampvoltage(device, Vsource, begin_bias, end_bias, init_step_size, min_step, max_iter, rel_error, abs_error, callback): 21 | ''' 22 | Ramps bias with assignable callback function 23 | ''' 24 | start_bias=begin_bias 25 | 26 | if (start_bias < end_bias): 27 | step_sign=1 28 | else: 29 | step_sign=-1 30 | 31 | num_successes = 0 32 | last_bias=start_bias 33 | step_size=init_step_size 34 | while(abs(last_bias - end_bias) > min_step): 35 | print(("last end %e %e") % (last_bias, end_bias)) 36 | next_bias=last_bias + step_sign * step_size 37 | if next_bias < end_bias: 38 | next_step_sign=1 39 | else: 40 | next_step_sign=-1 41 | 42 | if next_step_sign != step_sign: 43 | next_bias=end_bias 44 | print("setting to last bias %e" % (end_bias)) 45 | print("setting next bias %e" % (next_bias)) 46 | 47 | devsim.circuit_alter(name=Vsource, value=next_bias) 48 | try: 49 | devsim.solve(type="dc", absolute_error=abs_error, relative_error=rel_error, maximum_iterations=max_iter) 50 | except devsim.error as msg: 51 | if str(msg).find("Convergence failure") != 0: 52 | raise 53 | devsim.circuit_alter(name=Vsource, value=last_bias) 54 | step_size *= 0.5 55 | print("setting new step size %e" % (step_size)) 56 | if step_size < min_step: 57 | raise RuntimeError("Min step size too small") 58 | num_successes = 0 59 | continue 60 | num_successes += 1 61 | if (num_successes > 5) and (step_size < init_step_size): 62 | step_size *= 2 63 | if step_size > init_step_size: 64 | step_size = init_step_size 65 | print("setting new step size %e" % (step_size)) 66 | num_successes = 0 67 | print("Succeeded") 68 | last_bias=next_bias 69 | callback() 70 | 71 | def rampbias(device, contact, end_bias, step_size, min_step, max_iter, rel_error, abs_error, callback): 72 | ''' 73 | Ramps bias with assignable callback function 74 | ''' 75 | start_bias=devsim.get_parameter(device=device, name=GetContactBiasName(contact)) 76 | if (start_bias < end_bias): 77 | step_sign=1 78 | else: 79 | step_sign=-1 80 | last_bias=start_bias 81 | while(abs(last_bias - end_bias) > min_step): 82 | print(("last end %e %e") % (last_bias, end_bias)) 83 | next_bias=last_bias + step_sign * step_size 84 | if next_bias < end_bias: 85 | next_step_sign=1 86 | else: 87 | next_step_sign=-1 88 | 89 | if next_step_sign != step_sign: 90 | next_bias=end_bias 91 | print("setting to last bias %e" % (end_bias)) 92 | print("setting next bias %e" % (next_bias)) 93 | devsim.set_parameter(device=device, name=GetContactBiasName(contact), value=next_bias) 94 | try: 95 | devsim.solve(type="dc", absolute_error=abs_error, relative_error=rel_error, maximum_iterations=max_iter) 96 | except devsim.error as msg: 97 | if str(msg).find("Convergence failure") != 0: 98 | raise 99 | devsim.set_parameter(device=device, name=GetContactBiasName(contact), value=last_bias) 100 | step_size *= 0.5 101 | print("setting new step size %e" % (step_size)) 102 | if step_size < min_step: 103 | raise RuntimeError("Min step size too small") 104 | continue 105 | print("Succeeded") 106 | last_bias=next_bias 107 | callback() 108 | 109 | def rampbias(device, contact, end_bias, step_size, min_step, max_iter, rel_error, abs_error, callback): 110 | ''' 111 | Ramps bias with assignable callback function 112 | ''' 113 | start_bias=devsim.get_parameter(device=device, name=GetContactBiasName(contact)) 114 | if (start_bias < end_bias): 115 | step_sign=1 116 | else: 117 | step_sign=-1 118 | last_bias=start_bias 119 | while(abs(last_bias - end_bias) > min_step): 120 | print(("last end %e %e") % (last_bias, end_bias)) 121 | next_bias=last_bias + step_sign * step_size 122 | if next_bias < end_bias: 123 | next_step_sign=1 124 | else: 125 | next_step_sign=-1 126 | 127 | if next_step_sign != step_sign: 128 | next_bias=end_bias 129 | print("setting to last bias %e" % (end_bias)) 130 | print("setting next bias %e" % (next_bias)) 131 | devsim.set_parameter(device=device, name=GetContactBiasName(contact), value=next_bias) 132 | try: 133 | devsim.solve(type="dc", absolute_error=abs_error, relative_error=rel_error, maximum_iterations=max_iter) 134 | except devsim.error as msg: 135 | if str(msg).find("Convergence failure") != 0: 136 | raise 137 | devsim.set_parameter(device=device, name=GetContactBiasName(contact), value=last_bias) 138 | step_size *= 0.5 139 | print("setting new step size %e" % (step_size)) 140 | if step_size < min_step: 141 | raise RuntimeError("Min step size too small") 142 | continue 143 | print("Succeeded") 144 | last_bias=next_bias 145 | callback(device) 146 | 147 | def printAllCurrents(device, bias): 148 | ''' 149 | Prints all contact currents on device 150 | ''' 151 | for c in get_contact_list(device=device): 152 | x = get_DCcurrent(device, c) 153 | 154 | def PrintCurrents(device, contact): 155 | ''' 156 | print out contact currents 157 | ''' 158 | contact_bias_name = GetContactBiasName(contact) 159 | electron_current= get_contact_current(device=device, contact=contact, equation=ece_name) 160 | hole_current = get_contact_current(device=device, contact=contact, equation=hce_name) 161 | total_current = electron_current + hole_current 162 | voltage = devsim.get_parameter(device=device, name=GetContactBiasName(contact)) 163 | print("{0}\t{1}\t{2}\t{3}\t{4}".format(contact, voltage, electron_current, hole_current, total_current)) 164 | 165 | -------------------------------------------------------------------------------- /simdir/read_gmsh.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 Devsim LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from devsim import * 16 | 17 | def run(filename, device_name, region, region_material, contact_names): 18 | #this reads in the gmsh format 19 | create_gmsh_mesh (mesh=device_name, file=filename) 20 | add_gmsh_region (mesh=device_name, gmsh_name=region, region=region, material=region_material) 21 | for contact in contact_names: 22 | add_gmsh_contact (mesh=device_name, gmsh_name=contact, region=region, material="metal", name=contact) 23 | finalize_mesh (mesh=device_name) 24 | create_device (mesh=device_name, device=device_name) 25 | 26 | -------------------------------------------------------------------------------- /simdir/refinement.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 Devsim LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from devsim import * 16 | def emag_refinement(device, region): 17 | element_from_edge_model(edge_model="EField", device=device, region=region) 18 | element_model(device=device, region=region, name="Emag", equation="(EField_x^2 + EField_y^2)^(0.5)") 19 | element_model(device=device, region=region, name="Enorm", equation=''' 20 | ifelse(Emag > 1.0e5, 1.0, 21 | ifelse(Emag > 1.0e4, 2.0, 22 | ifelse(Emag > 1.0e3, 4.0, 23 | ifelse(Emag > 1.0e2, 8.0, 24 | if(Emag > 1.0e1, 16))))) 25 | ''') 26 | return "Enorm" 27 | 28 | def contact_refinement(device, region): 29 | element_from_node_model(node_model="SurfaceArea", device=device, region=region) 30 | element_model(device=device, region=region, name="SA", equation="if((SurfaceArea@en0 + SurfaceArea@en1 + SurfaceArea@en2) > 0.0, 4.0)") 31 | return "SA" 32 | 33 | def potential_refinement(device, region, pdiff): 34 | # we are looking at individual edges on the triangle to be more anisotropic 35 | element_from_node_model(node_model="Potential", device=device, region=region) 36 | element_model(device=device, region=region, name="potential_norm", equation=''' 37 | (abs(Potential@en0-Potential@en1) > %s) || 38 | (abs(Potential@en0-Potential@en2) > %s) || 39 | (abs(Potential@en1-Potential@en2) > %s) 40 | ''' % (pdiff,pdiff,pdiff)) 41 | return "potential_norm" 42 | 43 | def doping_refinement(device, region, pdiff): 44 | # we are looking at individual edges on the triangle to be more anisotropic 45 | element_from_node_model(node_model="LogNetDoping", device=device, region=region) 46 | element_model(device=device, region=region, name="lognetdoping_norm", equation=''' 47 | (abs(LogNetDoping@en0-LogNetDoping@en1) > %s) || 48 | (abs(LogNetDoping@en0-LogNetDoping@en2) > %s) || 49 | (abs(LogNetDoping@en1-LogNetDoping@en2) > %s) 50 | ''' % (pdiff,pdiff,pdiff)) 51 | return "lognetdoping_norm" 52 | 53 | 54 | 55 | def run(device, region, outfile, mincl, maxcl, pdiff): 56 | 57 | x = get_node_model_values(device=device, region=region, name="x") 58 | y = get_node_model_values(device=device, region=region, name="y") 59 | 60 | 61 | element_from_node_model(node_model="node_index", device=device, region=region) 62 | en0 = get_element_model_values(device=device, region=region, name='node_index@en0') 63 | en1 = get_element_model_values(device=device, region=region, name='node_index@en1') 64 | en2 = get_element_model_values(device=device, region=region, name='node_index@en2') 65 | 66 | en0 = [int(x) for x in en0] 67 | en1 = [int(x) for x in en1] 68 | en2 = [int(x) for x in en2] 69 | 70 | element_model(device=device, region=region, name="eindex", equation="edge_index") 71 | eindex = get_element_model_values(device=device, region=region, name='eindex') 72 | eindex = [int(x) for x in eindex] 73 | 74 | emag_refinement(device, region) 75 | contact_refinement(device, region) 76 | #potential_refinement(device, region, pdiff) 77 | #doping_refinement(device, region, ldiff) 78 | 79 | #element_model(device=device, region=region, name="clen", equation="max(lognetdoping_norm, SA)") 80 | #element_model(device=device, region=region, name="clen", equation="max(potential_norm, SA)") 81 | element_model(device=device, region=region, name="clen", equation="max(Enorm, SA)") 82 | cl = get_element_model_values(device=device, region=region, name='clen') 83 | 84 | 85 | node_cl = [0.0]*len(x) 86 | fh = open(outfile, 'w') 87 | print('View "background mesh" {', file=fh) 88 | for i in range(len(cl)//3): 89 | j = i * 3 90 | v = cl[j] 91 | ni0 = en0[j] 92 | ni1 = en1[j] 93 | ni2 = en2[j] 94 | # here we use mincl 95 | if (v > 0): 96 | node_cl[ni0] = mincl*v 97 | node_cl[ni1] = mincl*v 98 | node_cl[ni2] = mincl*v 99 | else: 100 | if node_cl[ni0] == 0.0: 101 | node_cl[ni0] = maxcl 102 | if node_cl[ni1] == 0.0: 103 | node_cl[ni1] == maxcl 104 | if node_cl[ni2] == 0.0: 105 | node_cl[ni2] = maxcl 106 | 107 | minx = 1e30 108 | miny = 1e30 109 | maxx = 0.0 110 | maxy = 0.0 111 | for i in range(len(cl)//3): 112 | j = i * 3 113 | ni0 = en0[j] 114 | ni1 = en1[j] 115 | ni2 = en2[j] 116 | xp = (x[ni0], x[ni1], x[ni2]) 117 | yp = (y[ni0], y[ni1], y[ni2]) 118 | #if node_cl[ni0] and node_cl[ni1] and node_cl[ni2]: 119 | print("ST(%g, %g, %g, %g, %g, %g, %g, %g, %g) {%g, %g, %g};" % ( 120 | xp[0], yp[0], 0.0, 121 | xp[1], yp[1], 0.0, 122 | xp[2], yp[2], 0.0, 123 | node_cl[ni0], node_cl[ni1], node_cl[ni2]), file=fh) 124 | if min(xp) < minx: 125 | minx = min(xp) 126 | elif max(xp) > maxx : 127 | maxx = max(xp) 128 | if min(yp) < miny: 129 | miny = min(yp) 130 | elif max(yp) > maxy : 131 | maxy = max(yp) 132 | print('};', file=fh) 133 | fh.close() 134 | print("BOX: %g %g %g %g" % (minx, miny, maxx, maxy)) 135 | 136 | -------------------------------------------------------------------------------- /simdir/setup_dd.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 Devsim LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from devsim import * 16 | from physics.new_physics import * 17 | 18 | def run(device, region): 19 | 20 | # this is our solution variable 21 | CreateSolution(device, region, "Electrons") 22 | CreateSolution(device, region, "Holes") 23 | 24 | #these are needed for velocity saturation 25 | CreateEField(device, region) 26 | CreateDField(device, region) 27 | opts = CreateAroraMobilityLF(device, region) 28 | opts = CreateHFMobility(device, region, **opts) 29 | 30 | 31 | CreateSiliconDriftDiffusion(device, region, **opts) 32 | for i in get_contact_list(device=device): 33 | set_parameter(device=device, name=GetContactBiasName(i), value=0.0) 34 | CreateSiliconDriftDiffusionContact(device, region, i, opts['Jn'], opts['Jp']) 35 | 36 | 37 | -------------------------------------------------------------------------------- /simdir/sims.sh: -------------------------------------------------------------------------------- 1 | #for i in 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0; do 2 | for i in 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0; do 3 | # echo $i 4 | echo "/usr/bin/time python bjt_circuit2.py $i &> data/vb2_$i.out" 5 | done 6 | 7 | #for i in 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0; do 8 | for i in 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5; do 9 | # echo $i 10 | echo "/usr/bin/time python bjt_circuit3.py $i &> data/vc_$i.out" 11 | done 12 | 13 | # goes from vcb=0 to vcb=0.5 14 | # vbe is then swept from 0 to 1.0 15 | for i in 0.0 0.1 0.2 0.3 0.4 0.5; do 16 | # echo $i 17 | echo "/usr/bin/time python bjt_circuit4.py $i &> data/ve_$i.out" 18 | done 19 | 20 | # goes from vcb=0 to vcb=0.5 21 | # vbe is then swept from 0 to 1.0 22 | #for i in 0.0 0.1 0.2 0.3 0.4 0.5; do 23 | # echo $i 24 | vc=0.0 25 | fmin=1e3 26 | fmax=1e11 27 | ppd=3 28 | echo "/usr/bin/time python bjt_circuit5.py $vc $fmin $fmax $ppd &> data/ssac_$vc.out" 29 | #done 30 | 31 | -------------------------------------------------------------------------------- /simdir/sims2.sh: -------------------------------------------------------------------------------- 1 | #for i in 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0; do 2 | for i in 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0; do 3 | echo $i 4 | /usr/bin/time python bjt_circuit2.py $i &> vb2_$i.out 5 | done 6 | 7 | -------------------------------------------------------------------------------- /simdir/sims3.sh: -------------------------------------------------------------------------------- 1 | #for i in 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0; do 2 | for i in 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5; do 3 | echo $i 4 | /usr/bin/time python bjt_circuit3.py $i &> vc_$i.out 5 | done 6 | 7 | -------------------------------------------------------------------------------- /simdir/sims4.sh: -------------------------------------------------------------------------------- 1 | # goes from vcb=0 to vcb=0.5 2 | # vbe is then swept from 0 to 1.0 3 | for i in 0.0 0.1 0.2 0.3 0.4 0.5; do 4 | echo $i 5 | /usr/bin/time python bjt_circuit4.py $i &> ve_$i.out 6 | done 7 | 8 | -------------------------------------------------------------------------------- /simdir/sims5.sh: -------------------------------------------------------------------------------- 1 | # goes from vcb=0 to vcb=0.5 2 | # vbe is then swept from 0 to 1.0 3 | #for i in 0.0 0.1 0.2 0.3 0.4 0.5; do 4 | # echo $i 5 | vc=0.0 6 | fmin=1e3 7 | fmax=1e11 8 | ppd=3 9 | /usr/bin/time python bjt_circuit5.py $vc $fmin $fmax $ppd &> ssac_$vc.out 10 | #done 11 | 12 | -------------------------------------------------------------------------------- /simdir/simsbatch.txt: -------------------------------------------------------------------------------- 1 | /usr/bin/time python bjt_circuit2.py 0.1 &> data/vb2_0.1.out 2 | /usr/bin/time python bjt_circuit2.py 0.2 &> data/vb2_0.2.out 3 | /usr/bin/time python bjt_circuit2.py 0.3 &> data/vb2_0.3.out 4 | /usr/bin/time python bjt_circuit2.py 0.4 &> data/vb2_0.4.out 5 | /usr/bin/time python bjt_circuit2.py 0.5 &> data/vb2_0.5.out 6 | /usr/bin/time python bjt_circuit2.py 0.6 &> data/vb2_0.6.out 7 | /usr/bin/time python bjt_circuit2.py 0.7 &> data/vb2_0.7.out 8 | /usr/bin/time python bjt_circuit2.py 0.8 &> data/vb2_0.8.out 9 | /usr/bin/time python bjt_circuit2.py 0.9 &> data/vb2_0.9.out 10 | /usr/bin/time python bjt_circuit2.py 1.0 &> data/vb2_1.0.out 11 | /usr/bin/time python bjt_circuit3.py 0.0 &> data/vc_0.0.out 12 | /usr/bin/time python bjt_circuit3.py 0.1 &> data/vc_0.1.out 13 | /usr/bin/time python bjt_circuit3.py 0.2 &> data/vc_0.2.out 14 | /usr/bin/time python bjt_circuit3.py 0.3 &> data/vc_0.3.out 15 | /usr/bin/time python bjt_circuit3.py 0.4 &> data/vc_0.4.out 16 | /usr/bin/time python bjt_circuit3.py 0.5 &> data/vc_0.5.out 17 | /usr/bin/time python bjt_circuit3.py 0.6 &> data/vc_0.6.out 18 | /usr/bin/time python bjt_circuit3.py 0.7 &> data/vc_0.7.out 19 | /usr/bin/time python bjt_circuit3.py 0.8 &> data/vc_0.8.out 20 | /usr/bin/time python bjt_circuit3.py 0.9 &> data/vc_0.9.out 21 | /usr/bin/time python bjt_circuit3.py 1.0 &> data/vc_1.0.out 22 | /usr/bin/time python bjt_circuit3.py 1.1 &> data/vc_1.1.out 23 | /usr/bin/time python bjt_circuit3.py 1.2 &> data/vc_1.2.out 24 | /usr/bin/time python bjt_circuit3.py 1.3 &> data/vc_1.3.out 25 | /usr/bin/time python bjt_circuit3.py 1.4 &> data/vc_1.4.out 26 | /usr/bin/time python bjt_circuit3.py 1.5 &> data/vc_1.5.out 27 | /usr/bin/time python bjt_circuit4.py 0.0 &> data/ve_0.0.out 28 | /usr/bin/time python bjt_circuit4.py 0.1 &> data/ve_0.1.out 29 | /usr/bin/time python bjt_circuit4.py 0.2 &> data/ve_0.2.out 30 | /usr/bin/time python bjt_circuit4.py 0.3 &> data/ve_0.3.out 31 | /usr/bin/time python bjt_circuit4.py 0.4 &> data/ve_0.4.out 32 | /usr/bin/time python bjt_circuit4.py 0.5 &> data/ve_0.5.out 33 | /usr/bin/time python bjt_circuit5.py 0.0 1e3 1e11 3 &> data/ssac_0.0.out 34 | --------------------------------------------------------------------------------