PLaSK library
Loading...
Searching...
No Matches
patterson-data.cpp
Go to the documentation of this file.
1/*
2 * This file is part of PLaSK (https://plask.app) by Photonics Group at TUL
3 * Copyright (c) 2022 Lodz University of Technology
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, version 3.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 */
14#include "patterson-data.hpp"
15
16namespace plask { namespace optical { namespace effective {
17
18const double patterson_points[] = {
19 0.000000000000000,
20 0.774596669241483,
21 0.434243749346803,
22 0.960491268708020,
23 0.223386686428967,
24 0.621102946737226,
25 0.888459232872257,
26 0.993831963212755,
27 0.112488943133187,
28 0.331135393257977,
29 0.531319743644376,
30 0.702496206491527,
31 0.836725938168869,
32 0.929654857429740,
33 0.981531149553740,
34 0.999098124967668,
35 0.056344313046593,
36 0.168235251552207,
37 0.277749822021824,
38 0.383359324198730,
39 0.483618026945841,
40 0.577195710052046,
41 0.662909660024781,
42 0.739756044352695,
43 0.806940531950218,
44 0.863907938193690,
45 0.910371156957004,
46 0.946342858373403,
47 0.972182874748582,
48 0.988684757547429,
49 0.997206259372222,
50 0.999872888120358,
51 0.028184648949746,
52 0.084454040083711,
53 0.140424233152560,
54 0.195897502711100,
55 0.250678730303483,
56 0.304576441556714,
57 0.357403837831532,
58 0.408979821229889,
59 0.459130011989832,
60 0.507687757533717,
61 0.554495132631933,
62 0.599403930242243,
63 0.642276642509759,
64 0.682987431091079,
65 0.721423085370099,
66 0.757483966380514,
67 0.791084933799848,
68 0.822156254364980,
69 0.850644494768350,
70 0.876513414484705,
71 0.899744899776940,
72 0.920340025470012,
73 0.938320397779593,
74 0.953730006425761,
75 0.966637851558417,
76 0.977141514639706,
77 0.985371499598520,
78 0.991495721178106,
79 0.995724104698407,
80 0.998316635318407,
81 0.999598799671911,
82 0.999982430354892,
83 0.014093886410782,
84 0.042269164765364,
85 0.070406976042855,
86 0.098482396598119,
87 0.126470584372302,
88 0.154346811481378,
89 0.182086496759252,
90 0.209665238243181,
91 0.237058845589830,
92 0.264243372410927,
93 0.291195148518247,
94 0.317890812068477,
95 0.344307341599438,
96 0.370422087950078,
97 0.396212806057616,
98 0.421657686626163,
99 0.446735387662028,
100 0.471425065871659,
101 0.495706407918761,
102 0.519559661537457,
103 0.542965666498311,
104 0.565905885423654,
105 0.588362434447663,
106 0.610318113715186,
107 0.631756437711194,
108 0.652661665410017,
109 0.673018830230419,
110 0.692813769779115,
111 0.712033155362252,
112 0.730664521242181,
113 0.748696293616937,
114 0.766117819303760,
115 0.782919394118283,
116 0.799092290960841,
117 0.814628787655137,
118 0.829522194637401,
119 0.843766882672709,
120 0.857358310886232,
121 0.870293055548114,
122 0.882568840247342,
123 0.894184568335559,
124 0.905140358813262,
125 0.915437587155765,
126 0.925078932907076,
127 0.934068436157726,
128 0.942411565191083,
129 0.950115297521295,
130 0.957188216109861,
131 0.963640621569812,
132 0.969484659502459,
133 0.974734459752403,
134 0.979406281670863,
135 0.983518657578633,
136 0.987092527954034,
137 0.990151370400770,
138 0.992721344282789,
139 0.994831502800621,
140 0.996514145914890,
141 0.997805354495957,
142 0.998745614468095,
143 0.999380338025024,
144 0.999760490924432,
145 0.999943996207054,
146 0.999997596379748,
147 0.007047138459337,
148 0.021139853378331,
149 0.035227882808441,
150 0.049308104790869,
151 0.063377399917322,
152 0.077432652349857,
153 0.091470750840355,
154 0.105488589749542,
155 0.119483070065440,
156 0.133451100421162,
157 0.147389598111940,
158 0.161295490111305,
159 0.175165714086311,
160 0.188997219411722,
161 0.202786968183065,
162 0.216531936228473,
163 0.230229114119222,
164 0.243875508178893,
165 0.257468141491070,
166 0.271004054905513,
167 0.284480308042726,
168 0.297893980296858,
169 0.311242171836872,
170 0.324522004605922,
171 0.337730623318886,
172 0.350865196458001,
173 0.363922917266550,
174 0.376901004740559,
175 0.389796704618471,
176 0.402607290368737,
177 0.415330064175322,
178 0.427962357921063,
179 0.440501534168876,
180 0.452944987140767,
181 0.465290143694635,
182 0.477534464298829,
183 0.489675444004456,
184 0.501710613415392,
185 0.513637539655989,
186 0.525453827336443,
187 0.537157119515795,
188 0.548745098662529,
189 0.560215487612728,
190 0.571566050525743,
191 0.582794593837319,
192 0.593898967210122,
193 0.604877064481584,
194 0.615726824608993,
195 0.626446232611720,
196 0.637033320510492,
197 0.647486168263572,
198 0.657802904699714,
199 0.667981708447750,
200 0.678020808862644,
201 0.687918486947839,
202 0.697673076273711,
203 0.707282963891961,
204 0.716746591245747,
205 0.726062455075390,
206 0.735229108319492,
207 0.744245161011347,
208 0.753109281170558,
209 0.761820195689839,
210 0.770376691217077,
211 0.778777615032823,
212 0.787021875923539,
213 0.795108445051101,
214 0.803036356819269,
215 0.810804709738147,
216 0.818412667287926,
217 0.825859458783650,
218 0.833144380243173,
219 0.840266795261030,
220 0.847226135891581,
221 0.854021903545469,
222 0.860653669904300,
223 0.867121077859315,
224 0.873423842480859,
225 0.879561752026556,
226 0.885534668997285,
227 0.891342531251320,
228 0.896985353188317,
229 0.902463227016166,
230 0.907776324115059,
231 0.912924896514371,
232 0.917909278499078,
233 0.922729888363349,
234 0.927387230329537,
235 0.931881896650954,
236 0.936214569916451,
237 0.940386025573670,
238 0.944397134685867,
239 0.948248866934137,
240 0.951942293872574,
241 0.955478592438184,
242 0.958859048710200,
243 0.962085061904651,
244 0.965158148579916,
245 0.968079947017760,
246 0.970852221732792,
247 0.973476868052507,
248 0.975955916702012,
249 0.978291538324759,
250 0.980486047876721,
251 0.982541908851081,
252 0.984461737328815,
253 0.986248305913008,
254 0.987904547695124,
255 0.989433560520241,
256 0.990838611958294,
257 0.992123145530863,
258 0.993290788851685,
259 0.994345364356723,
260 0.995290903148810,
261 0.996131662079315,
262 0.996872143485260,
263 0.997517116063472,
264 0.998071634524930,
265 0.998541055697168,
266 0.998931050830811,
267 0.999247618943342,
268 0.999497112467187,
269 0.999686286448318,
270 0.999822363679788,
271 0.999913081144678,
272 0.999966730098486,
273 0.999992298136258,
274 0.999999672956734
275};
276
277const double patterson_weights_data[] = {
278 // n = 1
279 2.,
280 // n = 3
281 0.888888888888889,
282 0.555555555555556,
283 // n = 7
284 0.450916538658474,
285 0.268488089868333,
286 0.401397414775962,
287 0.104656226026467,
288 // n = 15
289 0.225510499798207,
290 0.134415255243784,
291 0.200628529376989,
292 0.0516032829970797,
293 0.219156858401587,
294 0.171511909136391,
295 0.0929271953151245,
296 0.0170017196299403,
297 // n = 31
298 0.112755256720769,
299 0.0672077542959907,
300 0.100314278611796,
301 0.0258075980961767,
302 0.109578421055925,
303 0.0857559200499903,
304 0.046462893261758,
305 0.00843456573932111,
306 0.111956873020953,
307 0.105669893580235,
308 0.0936271099812645,
309 0.0768796204990035,
310 0.0569795094941234,
311 0.0359571033071293,
312 0.0164460498543878,
313 0.00254478079156187,
314 // n = 63
315 0.0563776283603847,
316 0.0336038771482077,
317 0.0501571393058995,
318 0.0129038001003513,
319 0.0547892105279629,
320 0.0428779600250077,
321 0.0232314466399103,
322 0.00421763044155885,
323 0.0559784365104763,
324 0.0528349467901165,
325 0.046813554990628,
326 0.0384398102494555,
327 0.0284897547458336,
328 0.0179785515681283,
329 0.00822300795723593,
330 0.00126515655623007,
331 0.0562776998312543,
332 0.0554814043565594,
333 0.0539054993352661,
334 0.0515832539520485,
335 0.0485643304066732,
336 0.0449145316536322,
337 0.0407155101169443,
338 0.0360644327807826,
339 0.031073551111688,
340 0.0258696793272147,
341 0.0205942339159127,
342 0.0154067504665595,
343 0.0104982469096213,
344 0.00611550682211725,
345 0.00257904979468569,
346 0.000363221481845531,
347 // n = 127
348 0.0281888141801924,
349 0.0168019385741039,
350 0.0250785696529498,
351 0.00645190005017574,
352 0.0273946052639814,
353 0.0214389800125039,
354 0.0116157233199551,
355 0.00210881524572663,
356 0.0279892182552382,
357 0.0264174733950583,
358 0.023406777495314,
359 0.0192199051247278,
360 0.0142448773729168,
361 0.00898927578406414,
362 0.00411150397865469,
363 0.000632607319362634,
364 0.0281388499156272,
365 0.0277407021782797,
366 0.026952749667633,
367 0.0257916269760242,
368 0.0242821652033366,
369 0.0224572658268161,
370 0.0203577550584722,
371 0.0180322163903913,
372 0.015536775555844,
373 0.0129348396636074,
374 0.0102971169579564,
375 0.00770337523327974,
376 0.00524912345480886,
377 0.00305775341017553,
378 0.00128952408261042,
379 0.000180739564445388,
380 0.0281763190330166,
381 0.0280764557938172,
382 0.0278772514766137,
383 0.0275797495664819,
384 0.0271855132296248,
385 0.0266966229274504,
386 0.0261156733767061,
387 0.0254457699654648,
388 0.0246905247444877,
389 0.0238540521060385,
390 0.0229409642293877,
391 0.0219563663053178,
392 0.020905851445812,
393 0.0197954950480975,
394 0.0186318482561388,
395 0.0174219301594642,
396 0.0161732187295777,
397 0.0148936416648152,
398 0.0135915710097655,
399 0.0122758305600828,
400 0.0109557333878379,
401 0.00964117772970254,
402 0.00834283875396816,
403 0.00707248999543356,
404 0.00584344987583564,
405 0.00467105037211432,
406 0.0035728927835173,
407 0.00256876494379402,
408 0.00168114286542147,
409 0.000938369848542382,
410 0.000377746646326985,
411 5.05360952078625e-05,
412 // n = 255
413 0.0140944070900962,
414 0.00840096928705193,
415 0.0125392848264749,
416 0.00322595002508787,
417 0.0136973026319907,
418 0.0107194900062519,
419 0.00580786165997757,
420 0.00105440762286332,
421 0.0139946091276191,
422 0.0132087366975291,
423 0.011703388747657,
424 0.00960995256236388,
425 0.00712243868645839,
426 0.00449463789203207,
427 0.00205575198932735,
428 0.000316303660822264,
429 0.0140694249578136,
430 0.0138703510891398,
431 0.0134763748338165,
432 0.0128958134880121,
433 0.0121410826016683,
434 0.011228632913408,
435 0.0101788775292361,
436 0.00901610819519564,
437 0.00776838777792199,
438 0.00646741983180369,
439 0.00514855847897818,
440 0.00385168761663987,
441 0.00262456172740443,
442 0.00152887670508777,
443 0.000644762041305725,
444 9.03727346587511e-05,
445 0.0140881595165083,
446 0.0140382278969086,
447 0.0139386257383069,
448 0.0137898747832409,
449 0.0135927566148124,
450 0.0133483114637252,
451 0.013057836688353,
452 0.0127228849827324,
453 0.0123452623722438,
454 0.0119270260530193,
455 0.0114704821146939,
456 0.0109781831526589,
457 0.010452925722906,
458 0.00989774752404875,
459 0.0093159241280694,
460 0.00871096507973209,
461 0.00808660936478886,
462 0.00744682083240759,
463 0.00679578550488277,
464 0.00613791528004138,
465 0.00547786669391895,
466 0.00482058886485127,
467 0.00417141937698408,
468 0.00353624499771678,
469 0.00292172493791782,
470 0.00233552518605716,
471 0.00178644639175865,
472 0.00128438247189701,
473 0.000840571432710722,
474 0.00046918492424785,
475 0.000188873264506505,
476 2.51578703842807e-05,
477 0.0140928450691604,
478 0.0140803519625537,
479 0.01405538207265,
480 0.0140179680394566,
481 0.0139681588065169,
482 0.0139060196013255,
483 0.0138316319095064,
484 0.0137450934430019,
485 0.0136465181025713,
486 0.0135360359349562,
487 0.0134137930851101,
488 0.0132799517439305,
489 0.0131346900919602,
490 0.0129782022395374,
491 0.0128106981638774,
492 0.0126324036435421,
493 0.012443560190714,
494 0.012244424981612,
495 0.0120352707852796,
496 0.0118163858908302,
497 0.011588074033044,
498 0.0113506543159806,
499 0.0111044611340069,
500 0.0108498440893373,
501 0.0105871679048852,
502 0.0103168123309476,
503 0.0100391720440568,
504 0.00975465653631741,
505 0.00946368999383007,
506 0.00916671116356079,
507 0.0088641732094825,
508 0.00855654356130769,
509 0.00824430376303287,
510 0.00792794933429485,
511 0.00760798966571906,
512 0.00728494798055381,
513 0.00695936140939042,
514 0.00663178124290189,
515 0.00630277344908576,
516 0.00597291956550817,
517 0.00564281810138444,
518 0.00531308660518706,
519 0.00498436456476554,
520 0.00465731729975685,
521 0.00433264096809298,
522 0.00401106872407502,
523 0.00369337791702565,
524 0.00338039799108692,
525 0.00307301843470258,
526 0.00277219576459345,
527 0.00247895822665757,
528 0.00219440692536384,
529 0.00191971297101387,
530 0.00165611272815445,
531 0.00140490799565514,
532 0.00116748411742996,
533 0.000945361516858525,
534 0.000740282804244503,
535 0.000554295314930375,
536 0.000389745284473282,
537 0.000249212400482997,
538 0.000135754910949229,
539 5.32752936697806e-05,
540 6.93793643241083e-06,
541 // n = 511
542 0.00704720354504809,
543 0.00420048464352597,
544 0.00626964241323744,
545 0.00161297501254393,
546 0.00684865131599536,
547 0.00535974500312597,
548 0.00290393082998878,
549 0.000527203811431658,
550 0.00699730456380954,
551 0.00660436834876457,
552 0.0058516943738285,
553 0.00480497628118194,
554 0.00356121934322919,
555 0.00224731894601603,
556 0.00102787599466367,
557 0.000158151830411132,
558 0.00703471247890679,
559 0.00693517554456992,
560 0.00673818741690826,
561 0.00644790674400606,
562 0.00607054130083415,
563 0.00561431645670402,
564 0.00508943876461804,
565 0.00450805409759782,
566 0.003884193888961,
567 0.00323370991590184,
568 0.00257427923948909,
569 0.00192584380831994,
570 0.00131228086370221,
571 0.000764438352543883,
572 0.000322381020652862,
573 4.51863674126296e-05,
574 0.00704407975825415,
575 0.00701911394845431,
576 0.00696931286915343,
577 0.00689493739162047,
578 0.0067963783074062,
579 0.00667415573186259,
580 0.00652891834417652,
581 0.00636144249136619,
582 0.00617263118612192,
583 0.00596351302650963,
584 0.00573524105734694,
585 0.00548909157632946,
586 0.00522646286145301,
587 0.00494887376202437,
588 0.0046579620640347,
589 0.00435548253986604,
590 0.00404330468239443,
591 0.0037234104162038,
592 0.00339789275244139,
593 0.00306895764002069,
594 0.00273893334695948,
595 0.00241029443242563,
596 0.00208570968849204,
597 0.00176812249885839,
598 0.00146086246895891,
599 0.00116776259302858,
600 0.000893223195879325,
601 0.000642191235948505,
602 0.000420285716355361,
603 0.000234592462123925,
604 9.44366322532705e-05,
605 1.25792781889593e-05,
606 0.0070464225345802,
607 0.00704017598127683,
608 0.00702769103632498,
609 0.0070089840197283,
610 0.00698407940325847,
611 0.00695300980066273,
612 0.00691581595475321,
613 0.00687254672150095,
614 0.00682325905128565,
615 0.00676801796747811,
616 0.00670689654255505,
617 0.00663997587196526,
618 0.00656734504598008,
619 0.0064891011197687,
620 0.00640534908193868,
621 0.00631620182177104,
622 0.00622178009535702,
623 0.00612221249080599,
624 0.00601763539263978,
625 0.00590819294541512,
626 0.00579403701652198,
627 0.0056753271579903,
628 0.00555223056700346,
629 0.00542492204466866,
630 0.0052935839524426,
631 0.00515840616547381,
632 0.00501958602202842,
633 0.00487732826815871,
634 0.00473184499691503,
635 0.00458335558178039,
636 0.00443208660474125,
637 0.00427827178065384,
638 0.00412215188151643,
639 0.00396397466714742,
640 0.00380399483285953,
641 0.0036424739902769,
642 0.00347968070469521,
643 0.00331589062145094,
644 0.00315138672454288,
645 0.00298645978275408,
646 0.00282140905069222,
647 0.00265654330259353,
648 0.00249218228238277,
649 0.00232865864987843,
650 0.00216632048404649,
651 0.00200553436203751,
652 0.00184668895851283,
653 0.00169019899554346,
654 0.00153650921735129,
655 0.00138609788229673,
656 0.00123947911332878,
657 0.00109720346268192,
658 0.000959856485506936,
659 0.000828056364077226,
660 0.000702453997827572,
661 0.00058374205871498,
662 0.000472680758429263,
663 0.000370141402122252,
664 0.000277147657465187,
665 0.000194872642236641,
666 0.000124606200241498,
667 6.78774554733972e-05,
668 2.66376412339001e-05,
669 3.45456507169149e-06,
670 0.00704700828844548,
671 0.00704544633127951,
672 0.00704232292709631,
673 0.00703763909614153,
674 0.00703139636865429,
675 0.00702359678471226,
676 0.00701424289402573,
677 0.00700333775568107,
678 0.00699088493783425,
679 0.0069768885173552,
680 0.00696135307942367,
681 0.00694428371707783,
682 0.00692568603071643,
683 0.00690556612755588,
684 0.00688393062104341,
685 0.00686078663022781,
686 0.00683614177908911,
687 0.00681000419582895,
688 0.00678238251212301,
689 0.00675328586233753,
690 0.00672272388271144,
691 0.00669070671050613,
692 0.00665724498312455,
693 0.00662234983720169,
694 0.00658603290766825,
695 0.00654830632678944,
696 0.00650918272318071,
697 0.00646867522080231,
698 0.00642679743793437,
699 0.00638356348613414,
700 0.0063389879691769,
701 0.00629308598198199,
702 0.00624587310952491,
703 0.00619736542573666,
704 0.00614757949239084,
705 0.00609653235797889,
706 0.00604424155657355,
707 0.0059907251066801,
708 0.0059360015100746,
709 0.00588008975062789,
710 0.00582300929311348,
711 0.00576478008199711,
712 0.00570542254020497,
713 0.00564495756786715,
714 0.00558340654103216,
715 0.00552079131034779,
716 0.0054571341997031,
717 0.00539245800482556,
718 0.00532678599182712,
719 0.00526014189569259,
720 0.00519254991870342,
721 0.00512403472879005,
722 0.0050546214578065,
723 0.00498433569972103,
724 0.00491320350871842,
725 0.00484125139721057,
726 0.00476850633375475,
727 0.00469499574088179,
728 0.00462074749284081,
729 0.00454578991327213,
730 0.00447015177282693,
731 0.00439386228676004,
732 0.0043169511125328,
733 0.00423944834747438,
734 0.0041613845265651,
735 0.00408279062042158,
736 0.00400369803358422,
737 0.00392413860322996,
738 0.00384414459846013,
739 0.00376374872034296,
740 0.00368298410292404,
741 0.00360188431545532,
742 0.00352048336613418,
743 0.00343881570768791,
744 0.00335691624518617,
745 0.00327482034651234,
746 0.00319256385597435,
747 0.00311018311158428,
748 0.00302771496658199,
749 0.00294519681581858,
750 0.00286266662764758,
751 0.00278016298199139,
752 0.00269772511525295,
753 0.00261539297272236,
754 0.00253320726907925,
755 0.00245120955750556,
756 0.00236944230779381,
757 0.00228794899365196,
758 0.00220677418916003,
759 0.00212596367401473,
760 0.00204556454679958,
761 0.00196562534503151,
762 0.00188619617015808,
763 0.00180732881501809,
764 0.00172907689054462,
765 0.00165149594771915,
766 0.00157464359003212,
767 0.00149857957106457,
768 0.00142336587141721,
769 0.00134906674928353,
770 0.00127574875977347,
771 0.00120348074001266,
772 0.00113233376051598,
773 0.0010623810488534,
774 0.000993697899638761,
775 0.000926361595613111,
776 0.000860451377808528,
777 0.000796048517297551,
778 0.000733236554224768,
779 0.000672101776960108,
780 0.000612734008012225,
781 0.000555227733977308,
782 0.000499683553312801,
783 0.000446209810101403,
784 0.000394924138246874,
785 0.000345954492129904,
786 0.000299439176850912,
787 0.000255525589595237,
788 0.000214368090034217,
789 0.000176126765545083,
790 0.000140970302204105,
791 0.000109085545645742,
792 8.06899228014035e-05,
793 5.60319507856164e-05,
794 3.5375137205519e-05,
795 1.90213681905876e-05,
796 7.36624069102322e-06,
797 9.45715933950007e-07
798};
799
811
812}}} // namespace plask::optical::effective