diff --git a/data/collisions/CX_Ar-Ar+.dat b/data/collisions/CX_Ar-Ar+.dat new file mode 100644 index 0000000..b815785 --- /dev/null +++ b/data/collisions/CX_Ar-Ar+.dat @@ -0,0 +1,302 @@ +#M. Lampe, et. al, Phys. Plasmas, 19(11):113703, 2012 +#Relative energy (eV) Cross Section (m^2) +0.010 6.913E-19 +0.020 6.705E-19 +0.030 6.583E-19 +0.040 6.497E-19 +0.050 6.430E-19 +0.060 6.375E-19 +0.070 6.329E-19 +0.080 6.288E-19 +0.090 6.253E-19 +0.100 6.221E-19 +0.110 6.193E-19 +0.120 6.167E-19 +0.130 6.143E-19 +0.140 6.120E-19 +0.150 6.100E-19 +0.160 6.080E-19 +0.170 6.062E-19 +0.180 6.045E-19 +0.190 6.029E-19 +0.200 6.013E-19 +0.210 5.999E-19 +0.220 5.985E-19 +0.230 5.971E-19 +0.240 5.959E-19 +0.250 5.946E-19 +0.260 5.934E-19 +0.270 5.923E-19 +0.280 5.912E-19 +0.290 5.902E-19 +0.300 5.892E-19 +0.310 5.882E-19 +0.320 5.872E-19 +0.330 5.863E-19 +0.340 5.854E-19 +0.350 5.845E-19 +0.360 5.837E-19 +0.370 5.829E-19 +0.380 5.821E-19 +0.390 5.813E-19 +0.400 5.805E-19 +0.410 5.798E-19 +0.420 5.790E-19 +0.430 5.783E-19 +0.440 5.777E-19 +0.450 5.770E-19 +0.460 5.763E-19 +0.470 5.757E-19 +0.480 5.750E-19 +0.490 5.744E-19 +0.500 5.738E-19 +0.510 5.732E-19 +0.520 5.726E-19 +0.530 5.721E-19 +0.540 5.715E-19 +0.550 5.710E-19 +0.560 5.704E-19 +0.570 5.699E-19 +0.580 5.694E-19 +0.590 5.688E-19 +0.600 5.683E-19 +0.610 5.678E-19 +0.620 5.674E-19 +0.630 5.669E-19 +0.640 5.664E-19 +0.650 5.659E-19 +0.660 5.655E-19 +0.670 5.650E-19 +0.680 5.646E-19 +0.690 5.641E-19 +0.700 5.637E-19 +0.710 5.633E-19 +0.720 5.629E-19 +0.730 5.625E-19 +0.740 5.620E-19 +0.750 5.616E-19 +0.760 5.612E-19 +0.770 5.608E-19 +0.780 5.605E-19 +0.790 5.601E-19 +0.800 5.597E-19 +0.810 5.593E-19 +0.820 5.590E-19 +0.830 5.586E-19 +0.840 5.582E-19 +0.850 5.579E-19 +0.860 5.575E-19 +0.870 5.572E-19 +0.880 5.568E-19 +0.890 5.565E-19 +0.900 5.562E-19 +0.910 5.558E-19 +0.920 5.555E-19 +0.930 5.552E-19 +0.940 5.549E-19 +0.950 5.545E-19 +0.960 5.542E-19 +0.970 5.539E-19 +0.980 5.536E-19 +0.990 5.533E-19 +1.000 5.530E-19 +1.010 5.527E-19 +1.020 5.524E-19 +1.030 5.521E-19 +1.040 5.518E-19 +1.050 5.515E-19 +1.060 5.513E-19 +1.070 5.510E-19 +1.080 5.507E-19 +1.090 5.504E-19 +1.100 5.501E-19 +1.110 5.499E-19 +1.120 5.496E-19 +1.130 5.493E-19 +1.140 5.491E-19 +1.150 5.488E-19 +1.160 5.485E-19 +1.170 5.483E-19 +1.180 5.480E-19 +1.190 5.478E-19 +1.200 5.475E-19 +1.210 5.473E-19 +1.220 5.470E-19 +1.230 5.468E-19 +1.240 5.465E-19 +1.250 5.463E-19 +1.260 5.461E-19 +1.270 5.458E-19 +1.280 5.456E-19 +1.290 5.454E-19 +1.300 5.451E-19 +1.310 5.449E-19 +1.320 5.447E-19 +1.330 5.444E-19 +1.340 5.442E-19 +1.350 5.440E-19 +1.360 5.438E-19 +1.370 5.435E-19 +1.380 5.433E-19 +1.390 5.431E-19 +1.400 5.429E-19 +1.410 5.427E-19 +1.420 5.425E-19 +1.430 5.423E-19 +1.440 5.421E-19 +1.450 5.418E-19 +1.460 5.416E-19 +1.470 5.414E-19 +1.480 5.412E-19 +1.490 5.410E-19 +1.500 5.408E-19 +1.510 5.406E-19 +1.520 5.404E-19 +1.530 5.402E-19 +1.540 5.400E-19 +1.550 5.398E-19 +1.560 5.396E-19 +1.570 5.395E-19 +1.580 5.393E-19 +1.590 5.391E-19 +1.600 5.389E-19 +1.610 5.387E-19 +1.620 5.385E-19 +1.630 5.383E-19 +1.640 5.381E-19 +1.650 5.380E-19 +1.660 5.378E-19 +1.670 5.376E-19 +1.680 5.374E-19 +1.690 5.372E-19 +1.700 5.371E-19 +1.710 5.369E-19 +1.720 5.367E-19 +1.730 5.365E-19 +1.740 5.364E-19 +1.750 5.362E-19 +1.760 5.360E-19 +1.770 5.359E-19 +1.780 5.357E-19 +1.790 5.355E-19 +1.800 5.354E-19 +1.810 5.352E-19 +1.820 5.350E-19 +1.830 5.349E-19 +1.840 5.347E-19 +1.850 5.345E-19 +1.860 5.344E-19 +1.870 5.342E-19 +1.880 5.340E-19 +1.890 5.339E-19 +1.900 5.337E-19 +1.910 5.336E-19 +1.920 5.334E-19 +1.930 5.333E-19 +1.940 5.331E-19 +1.950 5.329E-19 +1.960 5.328E-19 +1.970 5.326E-19 +1.980 5.325E-19 +1.990 5.323E-19 +2.000 5.322E-19 +2.010 5.320E-19 +2.020 5.319E-19 +2.030 5.317E-19 +2.040 5.316E-19 +2.050 5.314E-19 +2.060 5.313E-19 +2.070 5.312E-19 +2.080 5.310E-19 +2.090 5.309E-19 +2.100 5.307E-19 +2.110 5.306E-19 +2.120 5.304E-19 +2.130 5.303E-19 +2.140 5.302E-19 +2.150 5.300E-19 +2.160 5.299E-19 +2.170 5.297E-19 +2.180 5.296E-19 +2.190 5.295E-19 +2.200 5.293E-19 +2.210 5.292E-19 +2.220 5.291E-19 +2.230 5.289E-19 +2.240 5.288E-19 +2.250 5.286E-19 +2.260 5.285E-19 +2.270 5.284E-19 +2.280 5.283E-19 +2.290 5.281E-19 +2.300 5.280E-19 +2.310 5.279E-19 +2.320 5.277E-19 +2.330 5.276E-19 +2.340 5.275E-19 +2.350 5.273E-19 +2.360 5.272E-19 +2.370 5.271E-19 +2.380 5.270E-19 +2.390 5.268E-19 +2.400 5.267E-19 +2.410 5.266E-19 +2.420 5.265E-19 +2.430 5.263E-19 +2.440 5.262E-19 +2.450 5.261E-19 +2.460 5.260E-19 +2.470 5.258E-19 +2.480 5.257E-19 +2.490 5.256E-19 +2.500 5.255E-19 +2.510 5.254E-19 +2.520 5.252E-19 +2.530 5.251E-19 +2.540 5.250E-19 +2.550 5.249E-19 +2.560 5.248E-19 +2.570 5.247E-19 +2.580 5.245E-19 +2.590 5.244E-19 +2.600 5.243E-19 +2.610 5.242E-19 +2.620 5.241E-19 +2.630 5.240E-19 +2.640 5.238E-19 +2.650 5.237E-19 +2.660 5.236E-19 +2.670 5.235E-19 +2.680 5.234E-19 +2.690 5.233E-19 +2.700 5.232E-19 +2.710 5.231E-19 +2.720 5.230E-19 +2.730 5.228E-19 +2.740 5.227E-19 +2.750 5.226E-19 +2.760 5.225E-19 +2.770 5.224E-19 +2.780 5.223E-19 +2.790 5.222E-19 +2.800 5.221E-19 +2.810 5.220E-19 +2.820 5.219E-19 +2.830 5.218E-19 +2.840 5.217E-19 +2.850 5.216E-19 +2.860 5.214E-19 +2.870 5.213E-19 +2.880 5.212E-19 +2.890 5.211E-19 +2.900 5.210E-19 +2.910 5.209E-19 +2.920 5.208E-19 +2.930 5.207E-19 +2.940 5.206E-19 +2.950 5.205E-19 +2.960 5.204E-19 +2.970 5.203E-19 +2.980 5.202E-19 +2.990 5.201E-19 +3.000 5.200E-19 diff --git a/data/collisions/Ar-Ar_Elastic.dat b/data/collisions/EL_Ar-Ar.dat similarity index 100% rename from data/collisions/Ar-Ar_Elastic.dat rename to data/collisions/EL_Ar-Ar.dat diff --git a/runs/Argon_Expansion/mesh.msh b/runs/Argon_Expansion/mesh.msh new file mode 100644 index 0000000..d1b018c --- /dev/null +++ b/runs/Argon_Expansion/mesh.msh @@ -0,0 +1,1010 @@ +$MeshFormat +2.2 0 8 +$EndMeshFormat +$Nodes +341 +1 0 0 0 +2 2 0 0 +3 2 0.02 0 +4 2 1 0 +5 0 1 0 +6 0 0.02 0 +7 0.09999999999979879 0 0 +8 0.1999999999996283 0 0 +9 0.2999999999994057 0 0 +10 0.3999999999991138 0 0 +11 0.4999999999988219 0 0 +12 0.59999999999853 0 0 +13 0.6999999999982381 0 0 +14 0.7999999999979462 0 0 +15 0.8999999999976543 0 0 +16 0.9999999999973842 0 0 +17 1.099999999997626 0 0 +18 1.19999999999789 0 0 +19 1.299999999998154 0 0 +20 1.399999999998418 0 0 +21 1.499999999998681 0 0 +22 1.599999999998945 0 0 +23 1.699999999999209 0 0 +24 1.799999999999472 0 0 +25 1.899999999999736 0 0 +26 2 0.03107378091753848 0 +27 2 0.04325493974438105 0 +28 2 0.05665421450355262 0 +29 2 0.07139341655681872 0 +30 2 0.08760653932470738 0 +31 2 0.105440974650349 0 +32 2 0.1250588532606762 0 +33 2 0.1466385192068523 0 +34 2 0.1703761514380583 0 +35 2 0.1964875471220915 0 +36 2 0.22521008287757 0 +37 2 0.2568048721151931 0 +38 2 0.2915591398539729 0 +39 2 0.3297888346110884 0 +40 2 0.3718414989598148 0 +41 2 0.4180994297943603 0 +42 2 0.4689831539145176 0 +43 2 0.524955249765043 0 +44 2 0.5865245551326094 0 +45 2 0.65425079111474 0 +46 2 0.7287496504260423 0 +47 2 0.8106983962557315 0 +48 2 0.9008420170708328 0 +49 1.894736842104825 1 0 +50 1.78947368420965 1 0 +51 1.684210526315205 1 0 +52 1.578947368421199 1 0 +53 1.473684210527192 1 0 +54 1.368421052633185 1 0 +55 1.263157894739179 1 0 +56 1.157894736845172 1 0 +57 1.052631578951166 1 0 +58 0.9473684210565747 1 0 +59 0.8421052631613997 1 0 +60 0.7368421052662246 1 0 +61 0.6315789473710496 1 0 +62 0.5263157894758748 1 0 +63 0.4210526315806999 1 0 +64 0.3157894736855249 1 0 +65 0.2105263157903499 1 0 +66 0.1052631578951748 1 0 +67 0 0.7679527012228615 0 +68 0 0.5894547803562786 0 +69 0 0.4521486887194182 0 +70 0 0.3465286183226528 0 +71 0 0.2652824107307737 0 +72 0 0.2027853269383433 0 +73 0 0.1547106476351241 0 +74 0 0.1177301248198385 0 +75 0 0.08928356887877498 0 +76 0 0.06740160319659982 0 +77 0 0.05056932209530862 0 +78 0 0.03762141306166844 0 +79 0 0.02766148310645378 0 +80 0.09999999999979879 0.02 0 +81 0.1999999999996283 0.02 0 +82 0.2999999999994057 0.02 0 +83 0.3999999999991138 0.02 0 +84 0.4999999999988219 0.02 0 +85 0.59999999999853 0.02 0 +86 0.6999999999982381 0.02 0 +87 0.7999999999979462 0.02 0 +88 0.8999999999976543 0.02 0 +89 0.9999999999973842 0.02 0 +90 1.099999999997626 0.02 0 +91 1.19999999999789 0.02 0 +92 1.299999999998154 0.02 0 +93 1.399999999998418 0.02 0 +94 1.499999999998681 0.02 0 +95 1.599999999998945 0.02 0 +96 1.699999999999209 0.02 0 +97 1.799999999999472 0.02 0 +98 1.899999999999736 0.02 0 +99 1.953276996563932 0.4956846157418131 0 +100 1.964466447396555 0.3497047320424275 0 +101 1.973379481376998 0.2411084393990651 0 +102 1.976540728169577 0.1607740488622289 0 +103 1.439645867221863 0.104481960724574 0 +104 0.5512309689417767 0.1026570617875104 0 +105 1.140934601019768 0.1009819321800922 0 +106 0.8651328424123296 0.1051217580373974 0 +107 1.532155487251662 0.9125752339028629 0 +108 0.9998654270555178 0.9090040916450555 0 +109 0.6850600713662824 0.9087284907950091 0 +110 0.1051901137824874 0.5208017345378484 0 +111 1.938414727210112 0.6915002207703913 0 +112 0.04787897789103363 0.2340338688345585 0 +113 1.735229111781268 0.1021197904663745 0 +114 0.3681907432533334 0.9049169879340762 0 +115 1.31433398002615 0.9110501521784814 0 +116 0.3422835010498503 0.1023255903232052 0 +117 1.736765562140714 0.9160943125167196 0 +118 1.979956040941708 0.114281205993177 0 +119 1.986597250199346 0.07949997794076305 0 +120 0.02788949371777328 0.1390884177833774 0 +121 1.929861324899492 0.8537457273910848 0 +122 0.02940858926691352 0.06499922255071622 0 +123 0.1468325724312564 0.1053884283644653 0 +124 1.950093670933953 0.1044043194385069 0 +125 1.9686513654195 0.0551757524170425 0 +126 0.167162964955997 0.9028592098732688 0 +127 0.1014160013566875 0.38952850865626 0 +128 0.2110056999937225 0.4626782387271042 0 +129 0.2112613134033189 0.5864155905548794 0 +130 0.3153803554732977 0.5251866271931163 0 +131 0.3135555558419825 0.4064914696851989 0 +132 0.4149840480235675 0.4653771732976985 0 +133 0.4194901890037038 0.5828865721729037 0 +134 0.5154029775464251 0.5223717859016744 0 +135 0.5149435306853408 0.4089716747492568 0 +136 0.6097506004106712 0.462806231382305 0 +137 0.6134689204322199 0.5758979425404291 0 +138 0.7059271891533578 0.5169903329063384 0 +139 0.7024880058169489 0.4069112123319028 0 +140 0.7970823993827834 0.4595690217380526 0 +141 0.8020431950171334 0.5671945885554808 0 +142 0.890640420997666 0.5095767353717708 0 +143 0.8873648426257905 0.4045855039230113 0 +144 0.9791172523097424 0.4540019458296539 0 +145 0.9831124871094398 0.558380490734126 0 +146 1.071208961282953 0.5030124828670893 0 +147 1.074894267104223 0.6069635725661869 0 +148 1.162236455197557 0.551210600105189 0 +149 1.158949105609708 0.448628144201406 0 +150 1.249161204558376 0.4964669528824839 0 +151 1.246127639894208 0.3944949735110312 0 +152 1.334599017328593 0.4426505034329157 0 +153 1.337236606342206 0.5414227229610435 0 +154 1.42013190487616 0.4907859978674204 0 +155 1.422889997718147 0.5852183011222092 0 +156 1.502286356413455 0.5341598123936584 0 +157 1.501272333811419 0.4440749547840662 0 +158 1.579104101086503 0.4876759767803495 0 +159 1.580913469331832 0.5745555071911375 0 +160 1.656114629464784 0.5279442945640423 0 +161 1.662756276768836 0.4560446037106141 0 +162 1.658683798108266 0.6108783064648362 0 +163 1.7296196961693 0.5709505453081511 0 +164 1.732226856255046 0.649020120080034 0 +165 0.9767920257178027 0.3501160521391794 0 +166 1.168067100037898 0.6500200011258582 0 +167 1.593682728710063 0.6600985401462531 0 +168 1.332928096614735 0.3441201919406295 0 +169 0.9889962096893467 0.6605670657693528 0 +170 1.798653797934469 0.607722328685083 0 +171 1.797663384932541 0.5328684537106818 0 +172 1.157339996487621 0.3452179195728382 0 +173 1.341047118691332 0.6394017703749793 0 +174 1.801826574205111 0.6880982250288821 0 +175 1.42918535317518 0.6819347874075171 0 +176 1.725190761746362 0.7369023773184289 0 +177 0.8850149560722698 0.301048759117407 0 +178 0.9729305412783481 0.2468235958420172 0 +179 1.856823434874447 0.5637491043087999 0 +180 1.347616475194467 0.7372179984440727 0 +181 1.803260127555752 0.7683626287826617 0 +182 1.428530877092564 0.7853283238874174 0 +183 1.856002404653686 0.4943373628395147 0 +184 1.79796561590801 0.4613901878076238 0 +185 1.855156351454798 0.4266670569585274 0 +186 1.799637440861758 0.393305194298915 0 +187 1.866353510184795 0.3577813441373586 0 +188 1.801203129970342 0.3265581263991218 0 +189 1.858207165136708 0.2911576834584317 0 +190 1.800094038769737 0.259370565525587 0 +191 1.736666679640265 0.2940441395724101 0 +192 1.858596618193255 0.2285117534404242 0 +193 1.73929289345721 0.2239474977760137 0 +194 1.668095421140242 0.2576942249934723 0 +195 1.67952983284556 0.1698556337639719 0 +196 1.595822272153713 0.2152529847829154 0 +197 1.589128055404542 0.3049805404303562 0 +198 1.513214978535063 0.2585868098780896 0 +199 1.911822494579248 0.259087278099143 0 +200 1.906404278560817 0.2012291386918506 0 +201 1.862250641123503 0.1688202383213166 0 +202 1.911948378876112 0.4061721198523517 0 +203 1.918772027967383 0.3163629082008146 0 +204 1.91369127616883 0.142790818562077 0 +205 1.867649899455525 0.09588280356737967 0 +206 1.598479201555119 0.1281760162910962 0 +207 0.2464381029226004 0.1028107323283059 0 +208 0.1842646614135201 0.1805346566566692 0 +209 1.849144758202708 0.9077763203892231 0 +210 1.944013388297551 0.6203876731236747 0 +211 1.874603084075995 0.6401376852531474 0 +212 1.737814855392347 0.4273608032817346 0 +213 1.633108635090508 0.9130928098721156 0 +214 1.583192866102591 0.8251575295990531 0 +215 1.687348423387123 0.8258611967520939 0 +216 0.2102318322300487 0.3529780929918332 0 +217 0.3158270007192152 0.2821475088327349 0 +218 0.4146872606311943 0.3500285366058814 0 +219 0.5125205687401695 0.298088960996085 0 +220 0.4282131755399136 0.2357705421358588 0 +221 0.1343706950536451 0.3096086036308563 0 +222 0.6075781215127313 0.3520025602527565 0 +223 0.7010528916186638 0.2996340400943526 0 +224 0.605882605827505 0.2515496655354921 0 +225 0.6998489881161224 0.1929620480738851 0 +226 1.419333584025742 0.3960984113466638 0 +227 1.418775229484448 0.2980109318646602 0 +228 1.339070117083724 0.2450689621502839 0 +229 1.946885458252937 0.2847872132256757 0 +230 0.2758961056210895 0.185657766460179 0 +231 1.634701751927846 0.7432378626185102 0 +232 1.247322337696994 0.2938194538459113 0 +233 1.161336857399932 0.2488491449953534 0 +234 1.253400628552555 0.1939281520144707 0 +235 1.345257627373484 0.1529260731426971 0 +236 1.599051244300394 0.3977318235448356 0 +237 0.3163091030110657 0.648051909407355 0 +238 0.4196304594806848 0.7001803263996568 0 +239 0.2258650089462705 0.6922980408202157 0 +240 0.3140712312649965 0.7757890266511556 0 +241 0.5178377783614315 0.6399501471205197 0 +242 0.6195814673590768 0.6840946893832631 0 +243 0.522383112133331 0.7490162874756445 0 +244 0.629262640829293 0.8123859162222677 0 +245 0.7133581927185255 0.7375253511877982 0 +246 0.5273272158582011 0.841440511866463 0 +247 1.936308621619029 0.7645171241064308 0 +248 1.42479098587276 0.8951648640138019 0 +249 1.506795904260268 0.3499139119747786 0 +250 0.4429291537056717 0.1228529815417439 0 +251 0.4288403870733295 0.8113361512344848 0 +252 1.067940743464951 0.2965102018873346 0 +253 1.078422407540718 0.1875458637540409 0 +254 0.9673985203284936 0.1524652807613112 0 +255 1.957936429521782 0.443541291854439 0 +256 0.710869516401842 0.6256757370383534 0 +257 0.8095753549092317 0.6730665491828164 0 +258 0.8027896665355714 0.7846041472475813 0 +259 0.7944705301364908 0.2530166314764476 0 +260 1.524771503619132 0.7357681227006004 0 +261 1.21058474160314 0.910142234339715 0 +262 1.261390072847481 0.8057034597123243 0 +263 1.148525454719812 0.815392502480028 0 +264 1.432212534628028 0.2046475613219529 0 +265 0.7945789376088245 0.354127528113529 0 +266 1.068558014145463 0.3995811244162502 0 +267 0.1116569214448074 0.1827642784361808 0 +268 0.8995154136992842 0.9116868522855908 0 +269 0.9539231059969714 0.8243581672062141 0 +270 1.049015529872768 0.8190443784595967 0 +271 0.7956776052765648 0.8954789252194389 0 +272 1.670971516799435 0.335158129315357 0 +273 1.104676620798408 0.9091780685333178 0 +274 1.087643616241746 0.7198303815263629 0 +275 0.6501799928418815 0.1014049990060553 0 +276 1.252232274318124 0.596216644968124 0 +277 1.952411563077655 0.5556832372930213 0 +278 0.7525195903587442 0.1015668629451421 0 +279 0.903204948973457 0.7341802665691791 0 +280 1.805542409312634 0.1970687041830396 0 +281 0.8958974623721471 0.6140649512627798 0 +282 1.258966005474205 0.6945261811112771 0 +283 0.8808171848356464 0.2047313996313492 0 +284 1.507586947499249 0.6273170599010293 0 +285 0.5234627454589277 0.196199576809496 0 +286 1.871414810338255 0.7260030250948423 0 +287 1.960000234603485 0.390661121106784 0 +288 1.973654597268494 0.2089165840118671 0 +289 0.1141691274983714 0.6862203642670924 0 +290 1.730322409772636 0.4960931480638079 0 +291 0.2602559305428408 0.889665735541796 0 +292 1.249999999998022 0.09762596602105526 0 +293 0.04051545729373091 0.1771868561841032 0 +294 1.039459254813585 0.09253422917863292 0 +295 1.519991507849358 0.172454768353272 0 +296 0.07843588052635889 0.0868377982338689 0 +297 1.355332478206685 0.8268929596472196 0 +298 1.905584857435 0.4622681560885187 0 +299 0.06515466794906372 0.2980121273472679 0 +300 1.739062063118314 0.3621628500510484 0 +301 0.03634314485810639 0.1064476024320767 0 +302 1.942777005584755 0.2233858091424375 0 +303 1.948977842156888 0.1807145084735994 0 +304 0.7252296353452474 0.827744566134419 0 +305 1.669984200901418 0.09506465660816617 0 +306 1.863153755195121 0.8115726623015078 0 +307 1.97870248194295 0.1834318492800749 0 +308 0.4610818903629406 0.9161153841200825 0 +309 1.788932888555493 0.8490311480448047 0 +310 1.917875173774783 0.0844701810811717 0 +311 1.905784841644277 0.5258514685307574 0 +312 0.2046421047384224 0.2590028970801297 0 +313 1.981514259302816 0.1382451876175188 0 +314 1.499939885814894 0.8305663851590898 0 +315 0.9977015616855398 0.7506337337161618 0 +316 1.184918449864228 0.7370945051911701 0 +317 0.5920250716527873 0.9178290281083861 0 +318 0.1932602632210646 0.7977080597019298 0 +319 1.956351509933391 0.1414221469978918 0 +320 1.97423694637395 0.3106739872325306 0 +321 1.93250467962288 0.932319984484114 0 +322 0.07787967064154483 0.1367698230978881 0 +323 1.668897179349516 0.6800274413256124 0 +324 0.7999557187859466 0.1699123725535149 0 +325 0.361029787327148 0.1857508778587444 0 +326 1.804375808130976 0.1247477881406199 0 +327 1.531623315324793 0.08902254907378843 0 +328 1.976523552307611 0.274182005984583 0 +329 0.6015933622014435 0.1669749433058819 0 +330 1.944720119177617 0.2562190512747767 0 +331 1.924691557525894 0.3614139333734797 0 +332 0.1246613380817487 0.243992738664277 0 +333 1.751183050311182 0.7950393377244973 0 +334 0.8706890827986875 0.8343730470742967 0 +335 1.908628910165555 0.5822513853154296 0 +336 1.179667319058536 0.1720925046594365 0 +337 0.9499999999975195 0.07421229837635332 0 +338 1.688078756045742 0.3965507074387527 0 +339 1.349999999998285 0.07332222753295406 0 +340 1.754856845836922 0.1643225690653955 0 +341 0.0966425855951013 0.8591233891775253 0 +$EndNodes +$Elements +660 +1 1 2 3 1 1 7 +2 1 2 3 1 7 8 +3 1 2 3 1 8 9 +4 1 2 3 1 9 10 +5 1 2 3 1 10 11 +6 1 2 3 1 11 12 +7 1 2 3 1 12 13 +8 1 2 3 1 13 14 +9 1 2 3 1 14 15 +10 1 2 3 1 15 16 +11 1 2 3 1 16 17 +12 1 2 3 1 17 18 +13 1 2 3 1 18 19 +14 1 2 3 1 19 20 +15 1 2 3 1 20 21 +16 1 2 3 1 21 22 +17 1 2 3 1 22 23 +18 1 2 3 1 23 24 +19 1 2 3 1 24 25 +20 1 2 3 1 25 2 +21 1 2 2 2 2 3 +22 1 2 2 3 3 26 +23 1 2 2 3 26 27 +24 1 2 2 3 27 28 +25 1 2 2 3 28 29 +26 1 2 2 3 29 30 +27 1 2 2 3 30 31 +28 1 2 2 3 31 32 +29 1 2 2 3 32 33 +30 1 2 2 3 33 34 +31 1 2 2 3 34 35 +32 1 2 2 3 35 36 +33 1 2 2 3 36 37 +34 1 2 2 3 37 38 +35 1 2 2 3 38 39 +36 1 2 2 3 39 40 +37 1 2 2 3 40 41 +38 1 2 2 3 41 42 +39 1 2 2 3 42 43 +40 1 2 2 3 43 44 +41 1 2 2 3 44 45 +42 1 2 2 3 45 46 +43 1 2 2 3 46 47 +44 1 2 2 3 47 48 +45 1 2 2 3 48 4 +46 1 2 2 4 4 49 +47 1 2 2 4 49 50 +48 1 2 2 4 50 51 +49 1 2 2 4 51 52 +50 1 2 2 4 52 53 +51 1 2 2 4 53 54 +52 1 2 2 4 54 55 +53 1 2 2 4 55 56 +54 1 2 2 4 56 57 +55 1 2 2 4 57 58 +56 1 2 2 4 58 59 +57 1 2 2 4 59 60 +58 1 2 2 4 60 61 +59 1 2 2 4 61 62 +60 1 2 2 4 62 63 +61 1 2 2 4 63 64 +62 1 2 2 4 64 65 +63 1 2 2 4 65 66 +64 1 2 2 4 66 5 +65 1 2 2 5 5 67 +66 1 2 2 5 67 68 +67 1 2 2 5 68 69 +68 1 2 2 5 69 70 +69 1 2 2 5 70 71 +70 1 2 2 5 71 72 +71 1 2 2 5 72 73 +72 1 2 2 5 73 74 +73 1 2 2 5 74 75 +74 1 2 2 5 75 76 +75 1 2 2 5 76 77 +76 1 2 2 5 77 78 +77 1 2 2 5 78 79 +78 1 2 2 5 79 6 +79 1 2 1 6 6 1 +80 2 2 2 2 78 80 122 +81 2 2 2 2 97 205 326 +82 2 2 2 2 31 118 119 +83 2 2 2 2 127 70 299 +84 2 2 2 2 231 214 260 +85 2 2 2 2 250 220 325 +86 2 2 2 2 220 250 285 +87 2 2 2 2 64 65 291 +88 2 2 2 2 289 318 341 +89 2 2 2 2 100 203 320 +90 2 2 2 2 230 217 312 +91 2 2 2 2 289 239 318 +92 2 2 2 2 69 70 127 +93 2 2 2 2 203 229 320 +94 2 2 2 2 114 240 251 +95 2 2 2 2 236 272 338 +96 2 2 2 2 263 270 274 +97 2 2 2 2 113 97 326 +98 2 2 2 2 167 231 260 +99 2 2 2 2 120 301 322 +100 2 2 2 2 180 262 282 +101 2 2 2 2 236 197 272 +102 2 2 2 2 248 182 314 +103 2 2 2 2 182 248 297 +104 2 2 2 2 263 274 316 +105 2 2 2 2 204 124 319 +106 2 2 2 2 202 255 298 +107 2 2 2 2 62 308 317 +108 2 2 2 2 210 111 211 +109 2 2 2 2 161 236 338 +110 2 2 2 2 267 208 332 +111 2 2 2 2 240 114 291 +112 2 2 2 2 121 209 306 +113 2 2 2 2 106 254 283 +114 2 2 2 2 97 98 205 +115 2 2 2 2 208 230 312 +116 2 2 2 2 308 246 317 +117 2 2 2 2 244 109 317 +118 2 2 2 2 161 212 290 +119 2 2 2 2 114 64 291 +120 2 2 2 2 176 215 231 +121 2 2 2 2 255 202 287 +122 2 2 2 2 197 236 249 +123 2 2 2 2 211 111 286 +124 2 2 2 2 189 192 199 +125 2 2 2 2 253 105 336 +126 2 2 2 2 126 66 341 +127 2 2 2 2 160 161 290 +128 2 2 2 2 217 230 325 +129 2 2 2 2 301 296 322 +130 2 2 2 2 220 217 325 +131 2 2 2 2 306 209 309 +132 2 2 2 2 260 214 314 +133 2 2 2 2 254 106 337 +134 2 2 2 2 199 192 200 +135 2 2 2 2 109 244 304 +136 2 2 2 2 118 313 319 +137 2 2 2 2 228 235 264 +138 2 2 2 2 221 127 299 +139 2 2 2 2 235 103 264 +140 2 2 2 2 282 262 316 +141 2 2 2 2 227 198 249 +142 2 2 2 2 187 189 203 +143 2 2 2 2 203 100 331 +144 2 2 2 2 135 218 219 +145 2 2 2 2 135 132 218 +146 2 2 2 2 195 113 340 +147 2 2 2 2 187 203 331 +148 2 2 2 2 205 98 310 +149 2 2 2 2 105 253 294 +150 2 2 2 2 218 217 220 +151 2 2 2 2 185 187 202 +152 2 2 2 2 267 112 293 +153 2 2 2 2 189 199 203 +154 2 2 2 2 82 116 207 +155 2 2 2 2 271 258 334 +156 2 2 2 2 258 271 304 +157 2 2 2 2 216 127 221 +158 2 2 2 2 208 312 332 +159 2 2 2 2 198 197 249 +160 2 2 2 2 243 242 244 +161 2 2 2 2 67 289 341 +162 2 2 2 2 213 107 214 +163 2 2 2 2 131 216 217 +164 2 2 2 2 110 69 127 +165 2 2 2 2 67 68 289 +166 2 2 2 2 128 127 216 +167 2 2 2 2 245 257 258 +168 2 2 2 2 179 171 183 +169 2 2 2 2 139 136 222 +170 2 2 2 2 185 202 298 +171 2 2 2 2 224 219 285 +172 2 2 2 2 227 228 264 +173 2 2 2 2 241 242 243 +174 2 2 2 2 198 227 264 +175 2 2 2 2 52 107 213 +176 2 2 2 2 309 215 333 +177 2 2 2 2 250 104 285 +178 2 2 2 2 213 214 215 +179 2 2 2 2 215 214 231 +180 2 2 2 2 134 137 241 +181 2 2 2 2 131 128 216 +182 2 2 2 2 222 219 224 +183 2 2 2 2 237 238 240 +184 2 2 2 2 226 227 249 +185 2 2 2 2 139 222 223 +186 2 2 2 2 226 168 227 +187 2 2 2 2 137 138 256 +188 2 2 2 2 232 233 234 +189 2 2 2 2 170 171 179 +190 2 2 2 2 262 180 297 +191 2 2 2 2 207 116 230 +192 2 2 2 2 65 126 291 +193 2 2 2 2 246 244 317 +194 2 2 2 2 233 253 336 +195 2 2 2 2 170 163 171 +196 2 2 2 2 203 199 229 +197 2 2 2 2 202 187 331 +198 2 2 2 2 174 211 286 +199 2 2 2 2 241 137 242 +200 2 2 2 2 123 81 207 +201 2 2 2 2 50 117 209 +202 2 2 2 2 245 256 257 +203 2 2 2 2 96 97 113 +204 2 2 2 2 183 184 185 +205 2 2 2 2 68 69 110 +206 2 2 2 2 47 121 247 +207 2 2 2 2 240 238 251 +208 2 2 2 2 151 172 232 +209 2 2 2 2 80 81 123 +210 2 2 2 2 217 216 312 +211 2 2 2 2 237 133 238 +212 2 2 2 2 219 218 220 +213 2 2 2 2 117 213 215 +214 2 2 2 2 167 260 284 +215 2 2 2 2 152 168 226 +216 2 2 2 2 132 131 218 +217 2 2 2 2 113 195 305 +218 2 2 2 2 206 95 305 +219 2 2 2 2 133 134 241 +220 2 2 2 2 243 246 251 +221 2 2 2 2 215 176 333 +222 2 2 2 2 130 128 131 +223 2 2 2 2 139 223 265 +224 2 2 2 2 117 215 309 +225 2 2 2 2 136 135 222 +226 2 2 2 2 138 141 256 +227 2 2 2 2 260 175 284 +228 2 2 2 2 232 172 233 +229 2 2 2 2 130 133 237 +230 2 2 2 2 117 51 213 +231 2 2 2 2 54 115 248 +232 2 2 2 2 242 137 256 +233 2 2 2 2 162 160 163 +234 2 2 2 2 185 186 187 +235 2 2 2 2 199 200 302 +236 2 2 2 2 165 178 252 +237 2 2 2 2 80 123 296 +238 2 2 2 2 155 154 156 +239 2 2 2 2 50 51 117 +240 2 2 2 2 164 163 170 +241 2 2 2 2 156 157 158 +242 2 2 2 2 238 133 241 +243 2 2 2 2 95 206 327 +244 2 2 2 2 130 131 132 +245 2 2 2 2 252 178 253 +246 2 2 2 2 159 158 160 +247 2 2 2 2 239 240 318 +248 2 2 2 2 240 291 318 +249 2 2 2 2 135 219 222 +250 2 2 2 2 153 152 154 +251 2 2 2 2 233 252 253 +252 2 2 2 2 49 50 209 +253 2 2 2 2 82 83 116 +254 2 2 2 2 134 132 135 +255 2 2 2 2 133 132 134 +256 2 2 2 2 129 130 237 +257 2 2 2 2 244 242 245 +258 2 2 2 2 124 118 319 +259 2 2 2 2 134 135 136 +260 2 2 2 2 223 259 265 +261 2 2 2 2 160 158 161 +262 2 2 2 2 124 204 310 +263 2 2 2 2 129 128 130 +264 2 2 2 2 131 217 218 +265 2 2 2 2 189 190 192 +266 2 2 2 2 223 222 224 +267 2 2 2 2 156 154 157 +268 2 2 2 2 187 188 189 +269 2 2 2 2 238 241 243 +270 2 2 2 2 169 279 281 +271 2 2 2 2 123 207 208 +272 2 2 2 2 183 171 184 +273 2 2 2 2 47 48 121 +274 2 2 2 2 45 46 111 +275 2 2 2 2 243 244 246 +276 2 2 2 2 270 263 273 +277 2 2 2 2 200 204 303 +278 2 2 2 2 107 53 248 +279 2 2 2 2 84 104 250 +280 2 2 2 2 81 82 207 +281 2 2 2 2 116 83 250 +282 2 2 2 2 52 53 107 +283 2 2 2 2 150 151 152 +284 2 2 2 2 163 160 290 +285 2 2 2 2 156 158 159 +286 2 2 2 2 256 141 257 +287 2 2 2 2 116 250 325 +288 2 2 2 2 165 252 266 +289 2 2 2 2 168 151 232 +290 2 2 2 2 248 115 297 +291 2 2 2 2 223 224 225 +292 2 2 2 2 153 154 155 +293 2 2 2 2 103 235 339 +294 2 2 2 2 148 149 150 +295 2 2 2 2 261 56 273 +296 2 2 2 2 170 179 211 +297 2 2 2 2 177 259 283 +298 2 2 2 2 51 52 213 +299 2 2 2 2 144 165 266 +300 2 2 2 2 174 170 211 +301 2 2 2 2 146 144 266 +302 2 2 2 2 140 139 265 +303 2 2 2 2 150 152 153 +304 2 2 2 2 259 177 265 +305 2 2 2 2 253 178 254 +306 2 2 2 2 154 152 226 +307 2 2 2 2 54 55 115 +308 2 2 2 2 137 136 138 +309 2 2 2 2 134 136 137 +310 2 2 2 2 239 237 240 +311 2 2 2 2 130 132 133 +312 2 2 2 2 210 211 335 +313 2 2 2 2 263 261 273 +314 2 2 2 2 44 45 210 +315 2 2 2 2 279 257 281 +316 2 2 2 2 159 160 162 +317 2 2 2 2 276 173 282 +318 2 2 2 2 115 261 262 +319 2 2 2 2 142 140 143 +320 2 2 2 2 149 146 266 +321 2 2 2 2 251 246 308 +322 2 2 2 2 200 201 204 +323 2 2 2 2 150 149 151 +324 2 2 2 2 107 248 314 +325 2 2 2 2 138 136 139 +326 2 2 2 2 138 139 140 +327 2 2 2 2 45 111 210 +328 2 2 2 2 150 153 276 +329 2 2 2 2 244 245 304 +330 2 2 2 2 115 55 261 +331 2 2 2 2 53 54 248 +332 2 2 2 2 162 163 164 +333 2 2 2 2 223 225 259 +334 2 2 2 2 152 151 168 +335 2 2 2 2 165 177 178 +336 2 2 2 2 142 143 144 +337 2 2 2 2 238 243 251 +338 2 2 2 2 153 173 276 +339 2 2 2 2 141 140 142 +340 2 2 2 2 165 143 177 +341 2 2 2 2 245 242 256 +342 2 2 2 2 144 143 165 +343 2 2 2 2 141 142 281 +344 2 2 2 2 148 146 149 +345 2 2 2 2 173 180 282 +346 2 2 2 2 194 191 272 +347 2 2 2 2 147 146 148 +348 2 2 2 2 254 178 283 +349 2 2 2 2 108 270 273 +350 2 2 2 2 233 172 252 +351 2 2 2 2 60 109 271 +352 2 2 2 2 227 168 228 +353 2 2 2 2 158 157 236 +354 2 2 2 2 145 144 146 +355 2 2 2 2 147 148 166 +356 2 2 2 2 138 140 141 +357 2 2 2 2 164 170 174 +358 2 2 2 2 258 257 279 +359 2 2 2 2 145 146 147 +360 2 2 2 2 108 269 270 +361 2 2 2 2 83 84 250 +362 2 2 2 2 257 141 281 +363 2 2 2 2 182 175 260 +364 2 2 2 2 147 166 274 +365 2 2 2 2 166 148 276 +366 2 2 2 2 209 121 321 +367 2 2 2 2 57 58 108 +368 2 2 2 2 60 61 109 +369 2 2 2 2 59 60 271 +370 2 2 2 2 142 144 145 +371 2 2 2 2 173 155 175 +372 2 2 2 2 156 159 284 +373 2 2 2 2 268 59 271 +374 2 2 2 2 108 268 269 +375 2 2 2 2 55 56 261 +376 2 2 2 2 108 58 268 +377 2 2 2 2 56 57 273 +378 2 2 2 2 143 140 265 +379 2 2 2 2 172 149 266 +380 2 2 2 2 57 108 273 +381 2 2 2 2 58 59 268 +382 2 2 2 2 70 71 299 +383 2 2 2 2 262 263 316 +384 2 2 2 2 151 149 172 +385 2 2 2 2 177 143 265 +386 2 2 2 2 225 275 278 +387 2 2 2 2 169 147 274 +388 2 2 2 2 262 261 263 +389 2 2 2 2 145 147 169 +390 2 2 2 2 185 184 186 +391 2 2 2 2 90 91 105 +392 2 2 2 2 93 94 103 +393 2 2 2 2 84 85 104 +394 2 2 2 2 87 88 106 +395 2 2 2 2 228 234 235 +396 2 2 2 2 148 150 276 +397 2 2 2 2 85 86 275 +398 2 2 2 2 44 210 277 +399 2 2 2 2 228 232 234 +400 2 2 2 2 252 172 266 +401 2 2 2 2 86 87 278 +402 2 2 2 2 46 47 247 +403 2 2 2 2 104 85 275 +404 2 2 2 2 197 194 272 +405 2 2 2 2 87 106 278 +406 2 2 2 2 180 175 182 +407 2 2 2 2 129 237 239 +408 2 2 2 2 142 145 281 +409 2 2 2 2 219 220 285 +410 2 2 2 2 275 86 278 +411 2 2 2 2 184 171 290 +412 2 2 2 2 235 234 292 +413 2 2 2 2 153 155 173 +414 2 2 2 2 157 226 249 +415 2 2 2 2 236 157 249 +416 2 2 2 2 166 276 282 +417 2 2 2 2 182 260 314 +418 2 2 2 2 159 167 284 +419 2 2 2 2 110 127 128 +420 2 2 2 2 173 175 180 +421 2 2 2 2 228 168 232 +422 2 2 2 2 123 208 267 +423 2 2 2 2 178 177 283 +424 2 2 2 2 145 169 281 +425 2 2 2 2 157 154 226 +426 2 2 2 2 255 99 298 +427 2 2 2 2 175 155 284 +428 2 2 2 2 161 158 236 +429 2 2 2 2 196 194 197 +430 2 2 2 2 155 156 284 +431 2 2 2 2 63 64 114 +432 2 2 2 2 114 251 308 +433 2 2 2 2 41 42 255 +434 2 2 2 2 110 128 129 +435 2 2 2 2 176 231 323 +436 2 2 2 2 71 72 112 +437 2 2 2 2 42 43 99 +438 2 2 2 2 43 44 277 +439 2 2 2 2 94 95 327 +440 2 2 2 2 110 129 289 +441 2 2 2 2 200 192 201 +442 2 2 2 2 267 293 322 +443 2 2 2 2 298 99 311 +444 2 2 2 2 181 174 286 +445 2 2 2 2 159 162 167 +446 2 2 2 2 208 207 230 +447 2 2 2 2 234 233 336 +448 2 2 2 2 212 184 290 +449 2 2 2 2 105 91 292 +450 2 2 2 2 171 163 290 +451 2 2 2 2 212 161 338 +452 2 2 2 2 176 174 181 +453 2 2 2 2 187 186 188 +454 2 2 2 2 95 96 305 +455 2 2 2 2 40 41 287 +456 2 2 2 2 183 185 298 +457 2 2 2 2 196 197 198 +458 2 2 2 2 275 225 329 +459 2 2 2 2 274 166 316 +460 2 2 2 2 272 191 300 +461 2 2 2 2 48 4 321 +462 2 2 2 2 181 306 309 +463 2 2 2 2 247 121 306 +464 2 2 2 2 164 174 176 +465 2 2 2 2 111 247 286 +466 2 2 2 2 279 269 334 +467 2 2 2 2 111 46 247 +468 2 2 2 2 195 194 196 +469 2 2 2 2 89 90 294 +470 2 2 2 2 225 224 329 +471 2 2 2 2 258 279 334 +472 2 2 2 2 189 188 190 +473 2 2 2 2 90 105 294 +474 2 2 2 2 62 63 308 +475 2 2 2 2 190 193 280 +476 2 2 2 2 129 239 289 +477 2 2 2 2 179 183 311 +478 2 2 2 2 235 292 339 +479 2 2 2 2 195 196 206 +480 2 2 2 2 231 167 323 +481 2 2 2 2 61 62 317 +482 2 2 2 2 193 194 195 +483 2 2 2 2 224 285 329 +484 2 2 2 2 39 40 100 +485 2 2 2 2 193 191 194 +486 2 2 2 2 253 254 294 +487 2 2 2 2 198 264 295 +488 2 2 2 2 192 190 280 +489 2 2 2 2 264 103 295 +490 2 2 2 2 49 209 321 +491 2 2 2 2 211 179 335 +492 2 2 2 2 186 184 212 +493 2 2 2 2 268 271 334 +494 2 2 2 2 115 262 297 +495 2 2 2 2 93 103 339 +496 2 2 2 2 91 92 292 +497 2 2 2 2 209 117 309 +498 2 2 2 2 106 88 337 +499 2 2 2 2 279 169 315 +500 2 2 2 2 42 99 255 +501 2 2 2 2 89 294 337 +502 2 2 2 2 4 49 321 +503 2 2 2 2 303 102 307 +504 2 2 2 2 96 113 305 +505 2 2 2 2 68 110 289 +506 2 2 2 2 196 198 295 +507 2 2 2 2 271 109 304 +508 2 2 2 2 41 255 287 +509 2 2 2 2 105 292 336 +510 2 2 2 2 190 191 193 +511 2 2 2 2 180 182 297 +512 2 2 2 2 269 279 315 +513 2 2 2 2 245 258 304 +514 2 2 2 2 100 287 331 +515 2 2 2 2 35 36 288 +516 2 2 2 2 303 204 319 +517 2 2 2 2 112 267 332 +518 2 2 2 2 99 43 277 +519 2 2 2 2 294 254 337 +520 2 2 2 2 123 267 322 +521 2 2 2 2 259 225 324 +522 2 2 2 2 190 188 191 +523 2 2 2 2 288 302 303 +524 2 2 2 2 274 270 315 +525 2 2 2 2 193 195 340 +526 2 2 2 2 206 196 295 +527 2 2 2 2 102 303 319 +528 2 2 2 2 167 162 323 +529 2 2 2 2 225 278 324 +530 2 2 2 2 286 247 306 +531 2 2 2 2 65 66 126 +532 2 2 2 2 214 107 314 +533 2 2 2 2 72 73 293 +534 2 2 2 2 36 37 101 +535 2 2 2 2 292 234 336 +536 2 2 2 2 287 202 331 +537 2 2 2 2 283 259 324 +538 2 2 2 2 216 221 312 +539 2 2 2 2 292 92 339 +540 2 2 2 2 100 40 287 +541 2 2 2 2 183 298 311 +542 2 2 2 2 296 123 322 +543 2 2 2 2 164 176 323 +544 2 2 2 2 288 303 307 +545 2 2 2 2 201 192 280 +546 2 2 2 2 181 286 306 +547 2 2 2 2 195 206 305 +548 2 2 2 2 63 114 308 +549 2 2 2 2 285 104 329 +550 2 2 2 2 312 221 332 +551 2 2 2 2 270 269 315 +552 2 2 2 2 37 38 328 +553 2 2 2 2 186 212 300 +554 2 2 2 2 38 39 320 +555 2 2 2 2 106 283 324 +556 2 2 2 2 229 199 330 +557 2 2 2 2 109 61 317 +558 2 2 2 2 188 186 300 +559 2 2 2 2 169 274 315 +560 2 2 2 2 191 188 300 +561 2 2 2 2 39 100 320 +562 2 2 2 2 119 118 124 +563 2 2 2 2 112 72 293 +564 2 2 2 2 230 116 325 +565 2 2 2 2 34 35 307 +566 2 2 2 2 204 201 205 +567 2 2 2 2 103 94 327 +568 2 2 2 2 166 282 316 +569 2 2 2 2 121 48 321 +570 2 2 2 2 71 112 299 +571 2 2 2 2 278 106 324 +572 2 2 2 2 272 300 338 +573 2 2 2 2 299 112 332 +574 2 2 2 2 162 164 323 +575 2 2 2 2 277 210 335 +576 2 2 2 2 99 277 311 +577 2 2 2 2 98 125 310 +578 2 2 2 2 293 120 322 +579 2 2 2 2 73 74 120 +580 2 2 2 2 104 275 329 +581 2 2 2 2 269 268 334 +582 2 2 2 2 295 103 327 +583 2 2 2 2 88 89 337 +584 2 2 2 2 92 93 339 +585 2 2 2 2 38 320 328 +586 2 2 2 2 199 302 330 +587 2 2 2 2 179 311 335 +588 2 2 2 2 36 101 288 +589 2 2 2 2 74 75 301 +590 2 2 2 2 33 34 102 +591 2 2 2 2 288 101 302 +592 2 2 2 2 101 37 328 +593 2 2 2 2 204 205 310 +594 2 2 2 2 302 200 303 +595 2 2 2 2 311 277 335 +596 2 2 2 2 291 126 318 +597 2 2 2 2 75 76 122 +598 2 2 2 2 176 181 333 +599 2 2 2 2 32 33 313 +600 2 2 2 2 280 193 340 +601 2 2 2 2 206 295 327 +602 2 2 2 2 35 288 307 +603 2 2 2 2 101 328 330 +604 2 2 2 2 300 212 338 +605 2 2 2 2 125 124 310 +606 2 2 2 2 31 32 118 +607 2 2 2 2 221 299 332 +608 2 2 2 2 29 30 119 +609 2 2 2 2 113 326 340 +610 2 2 2 2 201 280 326 +611 2 2 2 2 119 124 125 +612 2 2 2 2 181 309 333 +613 2 2 2 2 73 120 293 +614 2 2 2 2 326 280 340 +615 2 2 2 2 320 229 328 +616 2 2 2 2 313 102 319 +617 2 2 2 2 205 201 326 +618 2 2 2 2 302 101 330 +619 2 2 2 2 328 229 330 +620 2 2 2 2 102 34 307 +621 2 2 2 2 318 126 341 +622 2 2 2 2 120 74 301 +623 2 2 2 2 33 102 313 +624 2 2 2 2 75 122 301 +625 2 2 2 2 118 32 313 +626 2 2 2 2 98 3 125 +627 2 2 2 2 3 26 125 +628 2 2 2 2 66 5 341 +629 2 2 2 2 5 67 341 +630 2 2 2 2 6 80 79 +631 2 2 2 2 26 27 125 +632 2 2 2 2 27 28 125 +633 2 2 2 2 28 29 119 +634 2 2 2 2 28 119 125 +635 2 2 2 2 30 31 119 +636 2 2 2 2 76 77 122 +637 2 2 2 2 77 78 122 +638 2 2 2 2 80 78 79 +639 2 2 2 2 122 80 296 +640 2 2 2 2 122 296 301 +641 3 2 1 1 1 7 80 6 +642 3 2 1 1 7 8 81 80 +643 3 2 1 1 8 9 82 81 +644 3 2 1 1 9 10 83 82 +645 3 2 1 1 10 11 84 83 +646 3 2 1 1 11 12 85 84 +647 3 2 1 1 12 13 86 85 +648 3 2 1 1 13 14 87 86 +649 3 2 1 1 14 15 88 87 +650 3 2 1 1 15 16 89 88 +651 3 2 1 1 16 17 90 89 +652 3 2 1 1 17 18 91 90 +653 3 2 1 1 18 19 92 91 +654 3 2 1 1 19 20 93 92 +655 3 2 1 1 20 21 94 93 +656 3 2 1 1 21 22 95 94 +657 3 2 1 1 22 23 96 95 +658 3 2 1 1 23 24 97 96 +659 3 2 1 1 24 25 98 97 +660 3 2 1 1 25 2 3 98 +$EndElements diff --git a/runs/cylFlow/input.json b/runs/cylFlow/input.json index 71bbebd..6abd1c7 100644 --- a/runs/cylFlow/input.json +++ b/runs/cylFlow/input.json @@ -49,7 +49,10 @@ "interactions": { "folderCollisions": "./data/collisions/", "collisions": [ - {"species_i": "Argon", "species_j": "Argon", "crossSections": ["Ar-Ar_Elastic.dat"]} + {"species_i": "Argon", "species_j": "Argon", + "cTypes": [ + {"type": "elastic", "crossSection": "EL_Ar-Ar.dat"} + ]} ] }, "parallel": { diff --git a/src/modules/mesh/moduleMesh.f90 b/src/modules/mesh/moduleMesh.f90 index 7240021..44d8307 100644 --- a/src/modules/mesh/moduleMesh.f90 +++ b/src/modules/mesh/moduleMesh.f90 @@ -125,7 +125,7 @@ MODULE moduleMesh !Volume index INTEGER:: n = 0 !Maximum collision rate - REAL(8):: sigmaVrelMax = 1.D-15 + REAL(8):: sigmaVrelMax = 1.D-17 !Volume REAL(8):: volume = 0.D0 !List of particles inside the volume diff --git a/src/modules/moduleCollisions.f90 b/src/modules/moduleCollisions.f90 index c95c90e..0d10994 100644 --- a/src/modules/moduleCollisions.f90 +++ b/src/modules/moduleCollisions.f90 @@ -1,11 +1,11 @@ MODULE moduleCollisions USE moduleTable + !Abstract type for collision between two particles TYPE, ABSTRACT:: collisionBinary REAL(8):: rMass !reduced mass TYPE(table1D):: crossSec !cross section of collision CONTAINS - PROCEDURE(initBinary_interface), PASS, DEFERRED:: init PROCEDURE(collideBinary_interface), PASS, DEFERRED:: collide END TYPE collisionBinary @@ -38,16 +38,31 @@ MODULE moduleCollisions END TYPE collisionCont + !Binary elastic interaction TYPE, EXTENDS(collisionBinary):: collisionBinaryElastic !Weight distribution for Maxwellian function REAL(8):: w_i = (1.D0+DSQRT(3.D0))/2.D0 REAL(8):: w_j = (DSQRT(3.D0)-1.D0)/2.D0 CONTAINS - PROCEDURE, PASS:: init => initBinaryElastic PROCEDURE, PASS:: collide => collideBinaryElastic END TYPE collisionBinaryElastic + !Ionization binary interaction + TYPE, EXTENDS(collisionBinary):: collisionBinaryIonization + REAL(8):: eThreshold !Minimum energy (non-dimensional units) required for ionization + CONTAINS + PROCEDURE, PASS:: collide => collideBinaryIonization + + END TYPE collisionBinaryIonization + + !Resonant charge-exchange + TYPE, EXTENDS(collisionBinary):: collisionBinaryChargeExchange + CONTAINS + PROCEDURE, PASS:: collide => collideBinaryChargeExchange + + END TYPE collisionBinaryChargeExchange + !Type for interaction matrix TYPE:: interactionsBinary INTEGER:: amount @@ -58,11 +73,12 @@ MODULE moduleCollisions END TYPE interactionsBinary !Collision 'Matrix'. A symmetric 2D matrix put into a 1D array to save memory - TYPE(interactionsBinary), ALLOCATABLE:: interactionMatrix(:) + TYPE(interactionsBinary), ALLOCATABLE, TARGET:: interactionMatrix(:) !Folder for collision cross section tables CHARACTER(:), ALLOCATABLE:: pathCollisions CONTAINS + !Inits the interaction matrix SUBROUTINE initInteractionMatrix(interactionMatrix) USE moduleSpecies IMPLICIT NONE @@ -75,6 +91,7 @@ MODULE moduleCollisions END SUBROUTINE initInteractionMatrix + !Gets the interaction index from the collision matrix from index i,j FUNCTION interactionIndex(i,j) RESULT(k) INTEGER:: i, j @@ -87,50 +104,49 @@ MODULE moduleCollisions END FUNCTION interactionIndex + !Inits the binary interaction SUBROUTINE initInteractionBinary(self, amount) IMPLICIT NONE CLASS(interactionsBinary), INTENT(inout):: self INTEGER, INTENT(in):: amount - INTEGER:: k self%amount = amount ALLOCATE(self%collisions(1:self%amount)) - DO k= 1, self%amount - !TODO: make type dependent - ALLOCATE(collisionBinaryElastic:: self%collisions(k)%obj) - - END DO END SUBROUTINE initInteractionBinary - SUBROUTINE initBinaryElastic(self, crossSectionFilename, mass_i, mass_j) + !ELASTIC COLLISIONS + !Inits binary elastic collision + SUBROUTINE initBinaryElastic(collision, crossSectionFilename, mass_i, mass_j) USE moduleTable USE moduleRefParam USE moduleConstParam IMPLICIT NONE - CLASS(collisionBinaryElastic), INTENT(inout):: self + CLASS(collisionBinary), INTENT(out), ALLOCATABLE:: collision CHARACTER(:), ALLOCATABLE, INTENT(in):: crossSectionFilename REAL(8), INTENT(in):: mass_i, mass_j + ALLOCATE(collisionBinaryElastic:: collision) + !Reads data from file - CALL self%crossSec%init(crossSectionFilename) + CALL collision%crossSec%init(crossSectionFilename) !Convert to no-dimensional units - CALL self%crossSec%convert(eV2J/(m_ref*v_ref**2), 1.D0/L_ref**2) + CALL collision%crossSec%convert(eV2J/(m_ref*v_ref**2), 1.D0/L_ref**2) !Calculates reduced mass - self%rMass = (mass_i*mass_j)/(mass_i+mass_j) + collision%rMass = (mass_i*mass_j)/(mass_i+mass_j) - END SUBROUTINE + END SUBROUTINE initBinaryElastic + !Binary elastic process SUBROUTINE collideBinaryElastic(self, sigmaVrelMax, sigmaVrelMaxNew, & part_i, part_j) - USE moduleConstParam USE moduleSpecies - USE moduleTable + USE moduleConstParam IMPLICIT NONE CLASS(collisionBinaryElastic), INTENT(in):: self @@ -145,7 +161,7 @@ MODULE moduleCollisions REAL(8):: alpha !random angle of scattering REAL(8):: rnd - !eRel (in units of [m][L]^2[s]^-2 + !eRel (in units of [m][L]^2[t]^-2 vRel = SUM(DABS(part_i%v-part_j%v)) !TODO make function of norm1 eRel = self%rMass*vRel**2 sigmaVrel = self%crossSec%get(eRel)*vRel @@ -169,7 +185,124 @@ MODULE moduleCollisions END IF + END SUBROUTINE collideBinaryElastic - END SUBROUTINE + !ELECTRON IMPACT IONIZATION + !Inits electron impact ionization + SUBROUTINE initBinaryIonization(collision, crossSectionFilename, energyThreshold, mass_i, mass_j) + USE moduleTable + USE moduleRefParam + USE moduleConstParam + IMPLICIT NONE + + CLASS(collisionBinary), INTENT(out), ALLOCATABLE:: collision + CHARACTER(:), ALLOCATABLE, INTENT(in):: crossSectionFilename + REAL(8), INTENT(in):: energyThreshold + REAL(8), INTENT(in):: mass_i, mass_j + + ALLOCATE(collisionBinaryIonization:: collision) + + !Reads data from file + CALL collision%crossSec%init(crossSectionFilename) + + !Convert to no-dimensional units + CALL collision%crossSec%convert(eV2J/(m_ref*v_ref**2), 1.D0/L_ref**2) + + !Calculates reduced mass + collision%rMass = (mass_i*mass_j)/(mass_i+mass_j) + + SELECT TYPE(collision) + TYPE IS(collisionBinaryIonization) + !Assign the energy threshold + collision%eThreshold = energyThreshold/(m_ref*v_ref**2) + + END SELECT + + END SUBROUTINE initBinaryIonization + + !Binary electron impact ionization process + SUBROUTINE collideBinaryIonization(self, sigmaVrelMax, sigmaVrelMaxNew, & + part_i, part_j) + USE moduleSpecies + IMPLICIT NONE + + CLASS(collisionBinaryIonization), INTENT(in):: self + REAL(8), INTENT(in):: sigmaVrelMax + REAL(8), INTENT(inout):: sigmaVrelMaxNew + TYPE(particle), INTENT(inout):: part_i, part_j + + END SUBROUTINE collideBinaryIonization + + !RESONANT CHARGE EXCHANGE + !Inits resonant charge exchange + SUBROUTINE initBinaryChargeExchange(collision, crossSectionFilename, mass_i, mass_j) + USE moduleTable + USE moduleRefParam + USE moduleConstParam + IMPLICIT NONE + + CLASS(collisionBinary), INTENT(out), ALLOCATABLE:: collision + CHARACTER(:), ALLOCATABLE, INTENT(in):: crossSectionFilename + REAL(8), INTENT(in):: mass_i, mass_j + + ALLOCATE(collisionBinaryChargeExchange:: collision) + + !Reads data from file + CALL collision%crossSec%init(crossSectionFilename) + + !Convert to no-dimensional units + CALL collision%crossSec%convert(eV2J/(m_ref*v_ref**2), 1.D0/L_ref**2) + + !Calculates reduced mass + collision%rMass = (mass_i*mass_j)/(mass_i+mass_j) + + END SUBROUTINE initBinaryChargeExchange + + SUBROUTINE collideBinaryChargeExchange(self, sigmaVrelMax, sigmaVrelMaxNew, & + part_i, part_j) + USE moduleSpecies + IMPLICIT NONE + + CLASS(collisionBinaryChargeExchange), INTENT(in):: self + REAL(8), INTENT(in):: sigmaVrelMax + REAL(8), INTENT(inout):: sigmaVrelMaxNew + TYPE(particle), INTENT(inout):: part_i, part_j + REAL(8):: sigmaVrel + REAL(8):: vRel !relative velocity + REAL(8):: eRel !relative energy + REAL(8):: rnd + + !eRel (in units of [m][L]^2[t]^-2 + vRel = SUM(DABS(part_i%v-part_j%v)) !TODO make function of norm1 + eRel = self%rMass*vRel**2 + sigmaVrel = self%crossSec%get(eRel)*vRel + sigmaVrelMaxNew = sigmaVrelMaxNew + sigmaVrel + CALL RANDOM_NUMBER(rnd) + IF (sigmaVrelMaxNew/sigmaVrelMax > rnd) THEN + SELECT TYPE(sp => species(part_i%sp)%obj) + TYPE IS (speciesNeutral) + !Species i is neutral, ionize particle i + CALL sp%ionize(part_i) + + TYPE IS (speciesCharged) + !Species i is charged, neutralize particle i + CALL sp%neutralize(part_i) + + END SELECT + + SELECT TYPE(sp => species(part_j%sp)%obj) + TYPE IS (speciesNeutral) + !Species j is neutral, ionize particle j + CALL sp%ionize(part_j) + + TYPE IS (speciesCharged) + !Species j is charged, neutralize particle j + CALL sp%neutralize(part_j) + + END SELECT + + END IF + + END SUBROUTINE collideBinaryChargeExchange END MODULE moduleCollisions diff --git a/src/modules/moduleInput.f90 b/src/modules/moduleInput.f90 index fde68b8..2b5c2c1 100644 --- a/src/modules/moduleInput.f90 +++ b/src/modules/moduleInput.f90 @@ -85,7 +85,6 @@ MODULE moduleInput !Derived parameters v_ref = DSQRT(kb*T_ref/m_ref) !reference velocity - !TODO: Make this solver dependent IF (found_r) THEN sigma_ref = PI*(r_ref+r_ref)**2 !reference cross section L_ref = 1.D0/(sigma_ref*n_ref) !mean free path @@ -238,6 +237,8 @@ MODULE moduleInput REAL(8):: mass, charge LOGICAL:: found INTEGER:: i + CHARACTER(:), ALLOCATABLE:: linkName + INTEGER:: linkID !Gets the number of species CALL config%info('species', found, n_children = nSpecies) @@ -276,6 +277,39 @@ MODULE moduleInput END DO + !Reads relations between species + DO i = 1, nSpecies + SELECT TYPE(sp => species(i)%obj) + TYPE IS (speciesNeutral) + !Gets species linked ion + CALL config%get(object // '.ion', linkName, found) + IF (found) THEN + linkID = speciesName2Index(linkName) + sp%ion => species(linkID)%obj + + END IF + + TYPE IS (speciesCharged) + !Gets species linked neutral + CALL config%get(object // '.neutral', linkName) + IF (found) THEN + linkID = speciesName2Index(linkName) + sp%neutral => species(linkID)%obj + + END IF + + !Gets species linked ion + CALL config%get(object // '.ion', linkName, found) + IF (found) THEN + linkID = speciesName2Index(linkName) + sp%ion => species(linkID)%obj + + END IF + + END SELECT + + END DO + !Set number of particles to 0 for init state !TODO: In a future, this should include the particles from init states nPartOld = 0 @@ -289,6 +323,7 @@ MODULE moduleInput SUBROUTINE readInteractions(config) USE moduleSpecies USE moduleCollisions + USE moduleErrors USE json_module IMPLICIT NONE @@ -298,10 +333,12 @@ MODULE moduleInput CHARACTER(:), ALLOCATABLE:: species_i, species_j CHARACTER(:), ALLOCATABLE:: crossSecFile CHARACTER(:), ALLOCATABLE:: crossSecFilePath + CHARACTER(:), ALLOCATABLE:: cType LOGICAL:: found INTEGER:: nInteractions, nCollisions INTEGER:: i, k, ij INTEGER:: pt_i, pt_j + REAL(8):: energyThreshold CALL initInteractionMatrix(interactionMatrix) @@ -315,15 +352,43 @@ MODULE moduleInput pt_i = speciesName2Index(species_i) CALL config%get(object // '.species_j', species_j, found) pt_j = speciesName2Index(species_j) - CALL config%info(object // '.crossSections', found, n_children = nCollisions) + CALL config%info(object // '.cTypes', found, n_children = nCollisions) ij = interactionIndex(pt_i,pt_j) + !Allocates the required number of collisions per each pair of species ij CALL interactionMatrix(ij)%init(nCollisions) DO k = 1, nCollisions WRITE (kString, '(I2)') k - CALL config%get(object // '.crossSections(' // TRIM(kString)// ')', crossSecFile, found) + object = 'interactions.collisions(' // TRIM(iString) // ').cTypes(' // TRIM(kString) // ')' + !Reads the cross section file + CALL config%get(object // '.crossSection', crossSecFile, found) crossSecFilePath = pathCollisions // crossSecFile - CALL interactionMatrix(ij)%collisions(k)%obj%init(crossSecFilePath, species(pt_i)%obj%m, species(pt_j)%obj%m) + IF (.NOT. found) CALL criticalError('crossSection not found for ' // object, 'readInteractions') + !Reads the type of collision + CALL config%get(object // '.type', cType, found) + !Initialize collision type and reads required additional data + SELECT CASE(cType) + CASE ('elastic') + !Elastic collision + CALL initBinaryElastic(interactionMatrix(ij)%collisions(k)%obj, & + crossSecFilePath, species(pt_i)%obj%m, species(pt_j)%obj%m) + + CASE ('chargeExchange') + !Resonant charge exchange + CALL initBinaryChargeExchange(interactionMatrix(ij)%collisions(k)%obj, & + crossSecFilePath, species(pt_i)%obj%m, species(pt_j)%obj%m) + + CASE ('ionization') + !Electorn impact ionization + CALL config%get(object // '.energyThreshold', found) + IF (.NOT. found) CALL criticalError('energyThreshold not found for collision' // object, 'readInteractions') + CALL initBinaryIonization(interactionMatrix(ij)%collisions(k)%obj, & + crossSecFilePath, energyThreshold, species(pt_i)%obj%m, species(pt_j)%obj%m) + + CASE DEFAULT + CALL criticalError('Collision type' // cType // 'not defined yet', 'readInteractions') + + END SELECT END DO diff --git a/src/modules/moduleSpecies.f90 b/src/modules/moduleSpecies.f90 index 6816b16..8bfb84b 100644 --- a/src/modules/moduleSpecies.f90 +++ b/src/modules/moduleSpecies.f90 @@ -11,11 +11,18 @@ MODULE moduleSpecies END TYPE speciesGeneric TYPE, EXTENDS(speciesGeneric):: speciesNeutral + CLASS(speciesGeneric), POINTER:: ion => NULL() + CONTAINS + PROCEDURE, PASS:: ionize => ionizeNeutral END TYPE speciesNeutral TYPE, EXTENDS(speciesGeneric):: speciesCharged REAL(8):: q=0.D0, qm=0.D0 + CLASS(speciesGeneric), POINTER:: ion => NULL(), neutral => NULL() + CONTAINS + PROCEDURE, PASS:: ionize => ionizeCharged + PROCEDURE, PASS:: neutralize => neutralizeCharged END TYPE speciesCharged @@ -25,7 +32,7 @@ MODULE moduleSpecies END TYPE INTEGER:: nSpecies - TYPE(speciesCont), ALLOCATABLE:: species(:) + TYPE(speciesCont), ALLOCATABLE, TARGET:: species(:) TYPE particle REAL(8):: r(1:3) !Position @@ -68,4 +75,59 @@ MODULE moduleSpecies END FUNCTION speciesName2Index + !Change particle type to corresponding ion (neutral species) + SUBROUTINE ionizeNeutral(self, part) + USE moduleErrors + IMPLICIT NONE + + CLASS(speciesNeutral), INTENT(IN):: self + TYPE(particle), INTENT(inout):: part + + IF (ASSOCIATED(self%ion)) THEN + part%sp = self%ion%sp + + ELSE + CALL criticalError('No ion defined for species' // self%name, 'ionizeNeutral') + + END IF + + END SUBROUTINE ionizeNeutral + + !Change particle type to corresponding ion (charged species) + SUBROUTINE ionizeCharged(self, part) + USE moduleErrors + IMPLICIT NONE + + CLASS(speciesCharged), INTENT(IN):: self + TYPE(particle), INTENT(inout):: part + + IF (ASSOCIATED(self%ion)) THEN + part%sp = self%ion%sp + + ELSE + CALL criticalError('No ion defined for species' // self%name, 'ionizeCharged') + + END IF + + END SUBROUTINE ionizeCharged + + !Change particle type to corresponding neutral + SUBROUTINE neutralizeCharged(self, part) + USE moduleErrors + IMPLICIT NONE + + CLASS(speciesCharged), INTENT(in):: self + TYPE(particle), INTENT(inout):: part + + IF (ASSOCIATED(self%neutral)) THEN + part%sp = self%neutral%sp + + ELSE + CALL criticalError('No neutral defined for species' // self%name, 'neutralizeCharged') + + END IF + + END SUBROUTINE neutralizeCharged + END MODULE moduleSpecies + diff --git a/src/modules/moduleTable.f90 b/src/modules/moduleTable.f90 index 1ea89e5..517c087 100644 --- a/src/modules/moduleTable.f90 +++ b/src/modules/moduleTable.f90 @@ -28,10 +28,10 @@ MODULE moduleTable amount = 0 DO READ(id, '(A)', iostat = stat) dummy - !Skip comment - IF (INDEX(dummy,'#') /= 0) CYCLE !If EOF or error, exit file IF (stat /= 0) EXIT + !Skip comment + IF (INDEX(dummy,'#') /= 0) CYCLE !Add row amount = amount + 1 @@ -62,7 +62,7 @@ MODULE moduleTable END DO - CLOSE(10) + CLOSE(id) self%xMin = self%x(1) self%xMax = self%x(amount)