diff --git a/Makefile b/Makefile index 14186465..f2624531 100644 --- a/Makefile +++ b/Makefile @@ -78,6 +78,7 @@ docs: ## generate Sphinx HTML documentation, including API docs jupytext demos/extract_currents.py -o docs/extract_currents.md jupytext demos/tracking_values.py -o docs/tracking_values.md jupytext demos/custom_stimulus_domain.py -o docs/custom_stimulus_domain.md + jupytext demos/patient_specific_lv.py -o docs/patient_specific_lv.md mkdir -p docs/_build cp -r benchmarks docs/_build/ jupyter book build -W docs diff --git a/demos/geometries/patient.msh b/demos/geometries/patient.msh new file mode 100644 index 00000000..09fc3016 --- /dev/null +++ b/demos/geometries/patient.msh @@ -0,0 +1,2503 @@ +$MeshFormat +2.2 0 8 +$EndMeshFormat +$PhysicalNames +6 +1 1 "ENDORING" +1 2 "EPIRING" +2 3 "ENDO" +2 4 "EPI" +2 5 "BASE" +3 6 "WALL" +$EndPhysicalNames +$Nodes +417 +1 0 -4.08873 18.7323 +2 0 -17.0543 22.104 +3 0 -20.92169360651705 13.322898431033 +4 0 -24.06482971026128 3.91016332616261 +5 0 -27.8296273580107 -5.250098231392347 +6 0 -27.41765154198385 -14.606449744949 +7 0 -22.7991103625242 -23.35312504936918 +8 0 -16.23999695156371 -30.78401633702789 +9 0 -7.547807306321949 -35.31028147009878 +10 0 2.26474555802414 -34.44050233395654 +11 0 11.58904084497593 -31.19929471135899 +12 0 18.86825759065133 -24.64564640984026 +13 0 23.03856901918471 -15.75880624738409 +14 0 23.4524283156248 -5.903873957295458 +15 0 20.78679477303614 3.569279526657586 +16 0 15.01467672115492 11.60863575898595 +17 0 7.893364953763634 18.51980555129403 +18 0 0.08635138876129361 24.62493167315609 +19 0 -9.326695563160195 27.02354087695576 +20 0 -11.20745833628276 13.24412417749366 +21 0 -14.97696416923967 4.706914706329271 +22 0 -19.76460681221648 -3.288919172112618 +23 0 -22.70540497697779 -11.85833671533467 +24 0 -18.32964333883642 -19.98910483540399 +25 0 -11.24657461451624 -25.88892814364407 +26 0 -2.165971759808733 -26.65850467371133 +27 0 6.584966341338367 -23.55504046278231 +28 0 13.26945156168215 -17.14804057789181 +29 0 16.56060098172139 -8.486350889720022 +30 0 15.97885465549517 0.7179266731622708 +31 0 11.13962067874378 8.610171963660649 +32 0 4.06117588268799 14.59483799488757 +33 7.448779973604421 -17.15022628920414 -23.66962638748364 +34 8.522825963803957 -6.443877440464002 -29.48431969653264 +35 13.95913743489459 -15.33582105303895 -25.35789917017534 +36 7.653028324718617 -23.82194087627976 -16.48093798926005 +37 16.6687413281247 -10.03631871259767 -28.59081044919171 +38 8.983982769993272 3.954563686141312 -28.67615400655057 +39 14.83274408431513 -20.75249773777303 -20.21499347900392 +40 16.23260714111709 -1.0774729783227 -30.48504782499904 +41 22.15391179811057 -16.00177343818009 -23.93461959069082 +42 24.68348917482993 -5.539466423517712 -29.5686243002655 +43 17.22621821359849 7.741931195623879 -29.25249071602389 +44 7.058910029689272 12.44356886352536 -23.73713477832988 +45 16.43585916450608 -25.79314055091896 -12.97804181451465 +46 23.4477380318809 2.799386256653581 -30.48171640505018 +47 29.34073227828177 -11.03789561168514 -26.24019695342673 +48 23.66196202370763 -22.35174645108417 -16.57067042684687 +49 10.25884679891796 -28.5641223058875 -8.529675059890561 +50 30.29638742733491 -17.60335263682406 -20.33074035194509 +51 14.91946298899708 14.05015122832037 -25.77042579110711 +52 25.02718034123425 8.591794319880519 -29.26276745585576 +53 30.88489124829792 2.902904540268085 -29.71141157873169 +54 34.90116278001376 -4.363254273158828 -28.05392471845651 +55 36.63127587203689 -11.71375289191589 -23.30958860284859 +56 4.550572572584066 -27.60441919310328 -3.910090818901076 +57 24.29767521004977 15.65864435148031 -26.24376407988852 +58 32.14472697524729 -22.24723561096141 -12.92826535263237 +59 38.90192870639611 3.069899954155302 -28.08356703289408 +60 8.983306168855803 17.70798989653839 -19.22209177798223 +61 33.24798430672013 11.5811798048879 -27.59238062159664 +62 25.31498062178061 -26.04181748795833 -8.429492119229696 +63 38.54908481885317 -17.4233503970794 -16.78651717436129 +64 43.02539175262896 -4.818849264859092 -25.05264418575287 +65 18.07214832687444 19.2666112877238 -21.8438941559357 +66 44.88666183779295 -11.45370757709978 -19.67338827669957 +67 18.26865193475653 -28.96116273140222 -3.857155680374895 +68 42.92752152189982 10.40285123163568 -25.67383986786976 +69 48.07067953982276 2.574918829911059 -25.2877096945182 +70 39.2463765726184 -21.22551728212457 -9.335354440570388 +71 31.78182538203497 19.14941859347784 -22.68204217838468 +72 38.43410535119774 16.58631135042786 -23.71296481473699 +73 52.30246745402489 -5.007005890341746 -20.36268181320077 +74 46.34242979819398 -16.72843360762819 -12.12010691973697 +75 51.2885869036785 -11.4271147259609 -15.4013016269969 +76 4.767220463282153 17.90482800982392 -14.25813295930327 +77 24.30265127061283 21.70991659346159 -19.31470700598309 +78 33.72876255620618 -24.51981727103 -4.105589852782979 +79 51.38376635772131 10.58003240421179 -22.86883800371972 +80 56.2416463392513 2.895866771325708 -21.64037390875898 +81 45.57419694319447 17.37327365287137 -21.08236020552606 +82 53.05091858658736 -13.96973715492087 -10.07907229251865 +83 57.15074464022867 -9.151203823113054 -13.05059136531754 +84 59.54868729137259 -3.639862309937451 -16.22651289407136 +85 44.74905228546724 -20.2205487860411 -4.547855883307411 +86 10.3934940931312 -30.29685213492358 0.9934248320317202 +87 15.69328460122501 21.90476873552791 -14.96646146812438 +88 38.94341932728339 21.48660368338019 -17.70718020834186 +89 59.67245848876811 10.7009449173997 -19.10614148710278 +90 26.48693578504671 -27.04242065247794 0.7034955735527466 +91 64.32704164993395 3.630954386216625 -16.93565618427205 +92 53.95998238457977 17.41354056076658 -17.40168375751758 +93 52.09180415460124 -17.00290909398256 -3.268043360794629 +94 40.28557558399203 -22.44428646801605 -0.2715123698750852 +95 59.12154832516642 -11.97986736576427 -5.939884218344144 +96 65.88411889465924 -1.679909991625326 -11.66670059792541 +97 63.17388471975613 -7.277970444623863 -8.567449481601258 +98 31.52103279446494 23.24210224527295 -14.56976910914006 +99 67.83670905361858 10.24174838223005 -13.87780311568203 +100 47.00349146511623 21.72074941192898 -13.84303465480857 +101 61.83380714495279 16.92802042260412 -13.04638056756776 +102 70.75406109172296 4.077930179413192 -9.113853124025894 +103 69.54080269976527 -2.605056487173517 -4.2036351807411 +104 65.44970021572806 -8.861578173832235 -1.259058699974246 +105 59.2016418287469 -13.75712528301143 1.893582331305099 +106 67.97538305779825 16.07245034461997 -8.250458914013455 +107 54.787074662055 21.17818829548329 -9.179705296795241 +108 72.89250452614124 10.65810005085912 -4.083758060619653 +109 8.941280849993964 20.65596603996691 -10.98333655271419 +110 44.94323410403708 -20.37292583972775 4.5490612616812 +111 39.38911631191886 23.36860368997002 -9.549364968250662 +112 52.79901891244276 -16.97248562107586 5.090660589740303 +113 73.16856833321377 3.718050297932875 0.6136774431611549 +114 34.84518604590016 -23.75582952978685 5.213792050536025 +115 23.35967871431737 23.73654943406388 -10.47091232290459 +116 62.37135390090654 19.77392433028236 -4.319158222313106 +117 70.79874075375686 -3.984340845508322 4.254725056642727 +118 65.04432138873057 -10.03113531217208 7.421859812878917 +119 69.67293364353725 16.9129337496732 0.5490510203938692 +120 17.81757929900229 -29.28118180106523 5.410384080873686 +121 73.82901640560632 10.49833611776435 5.821404320582565 +122 46.84687938462702 22.52221541721631 -4.871794508037294 +123 58.10502346529092 -13.78418083665488 9.194055405722004 +124 73.67476962837289 2.599111441785198 9.82078151539579 +125 70.06725347182694 -4.908897265334819 13.21534926148135 +126 54.52537060373931 21.25837531509583 0.02201717481986776 +127 62.10011556999675 19.87758334409828 4.812922411310649 +128 69.44626385267748 17.3708538873948 9.508399859414853 +129 72.54436575577289 10.30034235054138 14.75086227679119 +130 63.45768332467618 -8.818561664522797 15.08413622550428 +131 50.03110174105674 -16.49882963794842 11.52685525969579 +132 71.14230753457467 2.336482867529004 18.35709606210282 +133 31.07834840161353 23.70021984499989 -5.469662081793186 +134 67.49069626710269 15.24253078512464 17.26623212351012 +135 56.58956124831789 -11.75313087156566 15.55570321447263 +136 40.75384254887521 -19.89311242948061 11.04198690108657 +137 64.24143526770543 -3.510960818164576 19.96329761375619 +138 67.00216690994961 9.879941325101191 21.445766534589 +139 61.40694662454477 18.8418091711452 13.84853584434925 +140 64.80438484464797 3.549241616551068 22.59846164954293 +141 53.95357883031163 20.17817389589451 9.305014529947083 +142 38.73573037561555 22.65669751382974 -0.6224420504300431 +143 46.37657047521123 21.30710055399214 4.231454141077555 +144 25.22955348869951 -25.68722767518611 9.362311945933115 +145 60.77558393355525 11.89625134840504 21.1354314731939 +146 55.34404840391373 -5.397162577655731 20.95020102043585 +147 4.049858619994144 -23.92204291180823 4.250309173218137 +148 15.27273611223745 22.76217470667682 -6.289242624148283 +149 57.39503052131879 2.106166285739742 23.00587950024245 +150 48.96268567342409 -11.83978808087525 18.2467119951997 +151 53.2931110649826 15.68341371560397 17.0213897311221 +152 42.99383940028331 -15.96773416160429 16.05297441833715 +153 53.18657638977884 8.818328322345828 21.72304022744351 +154 31.91789299518873 -21.31200275068343 13.32834472692463 +155 46.17275938465571 17.58408281242839 12.90996680427441 +156 48.48861239628025 1.856160663391885 22.47482026170066 +157 22.93614641152845 22.98591315442371 -1.371262621473735 +158 38.30911707628159 19.64527738601506 8.04086074726267 +159 9.610893991966162 -28.28246389464925 9.576484523060396 +160 44.65200768324348 -5.691195607915111 21.40815224833056 +161 36.82024933246822 -15.83569553950043 17.51108363787082 +162 30.56013763286419 21.56290835488317 3.443727235944728 +163 44.84478405660504 10.1642200643647 19.49451479901571 +164 38.77663974302963 -10.65364323409769 20.0268863405316 +165 39.16161564809167 14.4180857457867 14.9186952846598 +166 17.33025692070601 -26.59888496065528 14.12056917774865 +167 39.34732819241049 2.469625428161285 21.26789589217102 +168 7.361102597343282 20.19820643815242 -3.276963076001783 +169 23.90042145588417 -20.66009096933144 17.07637453337775 +170 30.95769747289462 16.11677509248132 11.34287481713845 +171 30.36572326859687 -13.75613938583293 19.26780233895897 +172 34.64307202571784 -5.477233555452264 20.92458278693101 +173 34.48282574306671 9.21229809603628 17.69305418031103 +174 15.36496344047903 20.6927951185698 2.202532480982045 +175 22.66174152056189 18.7749673081216 6.861045550817435 +176 30.44144284790174 2.342076335551404 19.86054963012439 +177 9.903051501899572 -25.06552155561485 16.64190196549471 +178 26.45026173745399 9.326050306248851 16.02243481518707 +179 22.80253019858609 13.87458457812409 11.82763484163873 +180 25.66390415545649 -5.539379296745693 20.47075944685474 +181 15.38738447130638 -20.43651954695399 20.59188151081152 +182 20.88704546745263 -13.10807130156594 20.72611574686708 +183 4.071238775379787 -20.07323898282335 11.4133889050466 +184 21.69615606204712 2.276088082172034 18.90570807298424 +185 14.4960608979723 14.61604638493822 9.840098848140784 +186 8.080523637162605 17.11041184577218 5.271218530420949 +187 18.00507457743994 8.840268577859314 15.0727876256033 +188 6.874756573476144 -18.89541022877309 20.21726669012563 +189 16.59808731716947 -5.013864613778511 21.33208964288081 +190 11.96544600916883 -12.58303212103716 23.41096454604387 +191 12.8791129221392 2.694018633963311 19.1398366321811 +192 8.438292252997115 9.592838843992123 14.1457988004806 +193 7.776260973655607 -4.636129768297464 23.50210742383238 +194 2.827695472884697 -11.76983846602866 21.65705555610473 +195 4.70440845342304 1.690804052273721 20.44507772766683 +196 9.014610006153127 -2.402367287157379 -35.48111872797466 +197 8.430906928259956 7.574316910397078 -34.31081543088436 +198 9.206795257662234 -12.23173179180194 -33.63044900034191 +199 8.522269236120945 16.08261728242844 -30.87116661267181 +200 16.91003096408046 2.518453117502228 -34.94359310853996 +201 16.23377529464769 -6.0657653834369 -34.51221381840724 +202 16.20599122961276 11.46064305620382 -33.33183524708338 +203 9.974784630677433 21.60091137040835 -27.1558522879004 +204 9.124757521240879 -20.92343009720664 -27.49610340481177 +205 15.26937918912036 -16.70156091072709 -30.41864066806369 +206 19.63532080117314 -11.89708350023947 -32.32355667713315 +207 24.72417728091371 4.653313145213466 -33.97060831284858 +208 7.562818495609603 24.7704920844733 -21.79919526103203 +209 18.68774683620449 20.26799925378358 -29.14478652929603 +210 23.95242572036523 13.37207883502168 -32.18620465100962 +211 25.43825811390148 -5.246040892774757 -33.33912019274771 +212 16.04107616408374 26.84213696822413 -22.26852008354735 +213 31.32029659477656 10.06596341661562 -31.91924666510161 +214 33.04587026115995 0.8336640817622508 -32.70827448492297 +215 28.51870235318564 19.21886200610644 -28.76085409564928 +216 27.21231430021002 -14.36801916674135 -29.90604904297959 +217 21.67358064037035 -19.95978536711999 -27.1771838221914 +218 9.182903691028121 27.73420218266203 -16.24146304494867 +219 24.75201925998428 25.81832311567705 -23.33042725003718 +220 16.78244659210084 -24.56143308089086 -23.3566029208457 +221 34.73871588481479 -8.589356416802342 -30.57001550495467 +222 8.299694021197316 -27.12102479403101 -20.35182341320365 +223 37.14658367240403 15.82658339967148 -28.29937928499907 +224 39.8027053454672 7.047367643301498 -30.80320734439832 +225 33.77200574256956 23.72650396592615 -23.32019983633028 +226 41.8742352662714 -2.31213924893795 -30.35930495874129 +227 22.71654835321103 29.76797009232455 -16.56186738143269 +228 28.87812162576721 -21.00216744458358 -24.7085920590104 +229 16.53577152250351 30.47928052520518 -12.99373969332068 +230 35.57556561946306 -16.76443658697643 -26.25977049243625 +231 7.577644144361045 28.67155770341395 -9.000182547465171 +232 45.01470596535129 12.33193408313722 -27.70197575432293 +233 41.29914199495131 20.24516534549781 -23.73472966243709 +234 48.62861836754411 3.758273002290621 -29.00435094528395 +235 43.28986509746684 -11.1308250843843 -26.84891544345019 +236 30.57279848488387 29.40530227256723 -14.80507188649833 +237 37.92765825337268 26.15097546388009 -18.06020455994797 +238 50.4705267331863 -4.935363855492239 -26.73149973470268 +239 49.96353562332327 18.41096517340615 -22.01135574751692 +240 54.14593121610575 10.75062069800738 -25.71613415564793 +241 25.0920773130624 -26.74309190563969 -18.72945707662296 +242 45.02322546890522 24.80117836111283 -16.87210005287243 +243 57.34430938299872 1.727424578424158 -25.79522276124593 +244 34.45369886119568 -23.78530419884411 -19.53424148004679 +245 24.87823937471594 31.90248463435794 -7.601589142353989 +246 43.25646627373998 -18.92592463084048 -21.07307618057845 +247 51.00427818235489 -13.14968495810659 -21.65528548975036 +248 38.48591303815001 29.63935394874005 -10.29997270143162 +249 58.99493596562584 16.68724673692309 -19.60629478714607 +250 15.04684859244714 31.08782502227107 -3.66625996004805 +251 63.12828677016271 8.953687643539416 -23.18157348442233 +252 16.34852231750038 -30.05487740445515 -15.37063128423501 +253 53.93814434854913 23.21429881340436 -14.91963751387775 +254 58.15802417383998 -6.812669504908305 -21.33122205158234 +255 64.9565581230769 -0.1935167316959228 -20.45632468349154 +256 48.33146538903782 28.74351701045742 -8.876016327932218 +257 32.62578093550605 31.29442262942169 -3.900695066961868 +258 68.16405564997289 14.42705826161878 -16.71384099110506 +259 70.34307387179821 6.443445290284606 -19.04335081993801 +260 63.15551017861097 21.11239276881383 -12.05576649467341 +261 57.62103501660293 -13.95528457899884 -15.19766137850194 +262 50.54727380497582 -19.64218797937516 -14.55844571101453 +263 58.09093308377946 28.0006423490377 -6.890749906787327 +264 64.74362655832113 -7.201311643581931 -14.23066162256437 +265 41.92590766697513 -24.29774563965549 -13.17853403672545 +266 6.962264330096106 27.25372995814061 0.1271888857170775 +267 70.95568966828162 0.3886168249516072 -12.68504573335074 +268 42.27339781532569 30.79672593372275 -1.668412918992884 +269 74.67902388397691 9.247286166644288 -11.28671579424512 +270 70.96840429906368 17.36456036964592 -8.192760326298794 +271 21.97534764025756 31.12495419036185 1.025042386950658 +272 7.653080121004834 -32.25322281570374 -12.70885230362269 +273 66.69272119107222 25.57817936033877 -4.137221049061582 +274 33.03595504484527 -27.86914292107559 -11.45330788539692 +275 52.43177187033584 31.15500344972872 -0.1315707238618442 +276 63.62595969571817 -13.0713028850542 -7.59846051362959 +277 69.26449445539834 -7.067355269190314 -6.121849953230571 +278 62.07336235045812 31.32484363028138 1.702437038845474 +279 76.20003309177329 10.94681375611088 -2.04036848588744 +280 74.07706740994539 1.478880077156726 -3.812268155527901 +281 73.20242438961256 20.31866005802656 0.431149401146047 +282 56.50897327309259 -18.99903928088351 -7.30236565655352 +283 69.39644292183388 27.26970939551232 5.241043682771248 +284 24.02998368846722 -30.72449455940795 -9.600621565926255 +285 72.70868644068634 -5.081011442937193 0.08103586484616493 +286 48.3051162325815 -23.70380595604988 -6.065516651798026 +287 76.01361875443949 13.29593462215106 6.516233096643594 +288 76.07849887219508 3.192592864096756 4.842076678590285 +289 72.31902366089002 20.95800251285075 8.938504467396003 +290 28.37904783002351 29.49710148661809 5.440579306519955 +291 36.70533311510086 29.03596806828988 5.955896390884022 +292 45.83446925294534 28.80282666984458 7.051845833942307 +293 62.45794928297613 27.70942750456219 9.972965064673257 +294 54.24594992193099 28.66595759732047 8.75897409179843 +295 68.18506938488881 -11.6995735235547 1.650805130844677 +296 61.69313151094763 -16.95288880078286 -0.5803061774814269 +297 76.20506403673447 8.290441453468349 11.67720005820007 +298 14.81892935595123 28.22902771844137 5.514726449981487 +299 73.31219725510847 -5.488718398164033 7.429915906476849 +300 73.65267819661038 15.49769249637839 13.76795944709662 +301 66.79386431619464 21.79468655261245 14.46811925102924 +302 39.59582244098232 -27.01235117479069 -4.345510905703963 +303 75.14679055688569 1.470400022542207 13.56409231635285 +304 54.5809877726918 -21.5432961107505 1.463301050025901 +305 58.68560157177129 22.87480709124771 15.65146087346993 +306 74.09337697895384 9.114318610864041 18.9580130883299 +307 69.4463277992747 15.85189866475206 19.87458332636964 +308 67.81617300618103 -11.87051155717443 9.95214300779163 +309 71.25126012872599 -6.029883842443665 15.87289336299308 +310 49.73263615532855 23.42539787344705 14.45650529812864 +311 60.79553381774798 -17.31168886327973 8.36994680588319 +312 71.14639548473865 1.391706249484163 22.07728243153642 +313 62.06250111349991 16.32827918315361 21.61770129381757 +314 67.45941029468537 9.445365161051473 25.39777544472221 +315 40.32408206638099 23.87232638237391 13.23375552458955 +316 45.51627726858768 -25.09984865338823 2.904090294385999 +317 15.04690718574853 -34.25141030894542 -6.866122614548233 +318 30.79240475629796 -29.69190181149672 -2.343110727045644 +319 63.59058595674506 -12.60657654698548 16.4121390158591 +320 66.31261649193273 -5.575701514250062 21.78955878640193 +321 53.76076748590062 17.16506775113701 20.538038168141 +322 30.61933560350145 24.45950821684058 12.28772919376712 +323 62.83210132068972 0.8930281738688597 25.89817247844347 +324 20.63591403168926 25.59942216421248 10.77913642990706 +325 58.19140687614055 9.60163130625952 25.59472912158873 +326 51.12498883169692 -21.75323053209879 10.05310729238745 +327 59.61962194649917 -9.247265824570418 22.29916369855239 +328 55.80004666033634 -16.93400490255731 16.70084199377121 +329 44.45209129371116 17.53501030775841 19.2542183159384 +330 9.125815816893704 23.78159304484705 9.141311998730668 +331 36.43385444862063 -27.42790924273689 4.655421977751618 +332 53.06030893316311 2.531202319525145 26.13381815354201 +333 48.4581707890497 10.26253642601327 24.06818830706502 +334 53.87820723258523 -5.573764787216695 25.09072166884511 +335 34.87589301586944 17.96110277919367 18.49971995223328 +336 21.65098592888755 -32.99272260294184 -0.5856148732876789 +337 41.77267895689472 -24.04359098941333 11.77122329426935 +338 49.77862189375355 -12.31418026524747 23.10049713591954 +339 46.02871109104736 -19.19561107854965 18.27871956808379 +340 6.59160355363543 -35.60201843080185 -4.794802757071014 +341 39.5869959173529 10.84866840387358 23.19210563733677 +342 43.20808881467947 2.436377019829497 25.77849041457846 +343 45.32249378402854 -5.650546082445426 25.45062136765906 +344 24.99442398868 18.67785958738627 17.69254571407244 +345 27.29110825355644 -29.9067461289955 6.341137311692226 +346 15.38468004390271 19.33801805447522 16.02103539562144 +347 32.5659350815412 -25.48437440771267 13.17304471073466 +348 39.6797514135815 -11.43230107247702 24.27198069520301 +349 29.24053783767063 11.4436293755554 22.51592341085625 +350 37.08983377047032 -19.56735981921613 19.97834083252471 +351 34.83188254417614 4.331138086903217 25.28428726475152 +352 12.60509485781253 -36.3177279250917 1.813409106664028 +353 34.6440569056288 -4.372423572278795 25.90441623450257 +354 6.74691765726974 17.41639190904019 14.71113219865231 +355 18.54848073908204 -33.27023208403615 8.464881600997085 +356 19.07453679306255 11.9102355979948 22.01182493969936 +357 30.86914440153068 -13.60434100630429 24.14938703744764 +358 23.6721068146383 -28.16832466519515 14.83762025174227 +359 26.99062095508112 2.041261081124258 25.84517728314554 +360 27.75352771249185 -21.68328441292905 20.30136445222603 +361 21.71875501564048 6.009868923413284 24.84109965692426 +362 3.33651199743372 -33.58725532087718 2.714023901854832 +363 10.19323196521705 13.36955102432155 19.70545078754862 +364 25.07293180031312 -6.938482892780691 26.45301950537121 +365 9.266288176517792 -36.36572485631734 10.4633950710671 +366 15.66878039173036 -32.10368982722626 16.99342513033617 +367 22.10587507868382 -15.99302214876553 25.07840520413738 +368 19.19334987953735 -24.5869733741417 21.94051269474404 +369 18.81213232808082 -2.803827940536923 27.1676030253066 +370 15.16397801993665 2.807970648553197 26.10576425818326 +371 8.77016192928148 6.520608632083997 24.26948916618105 +372 7.304974084333731 -33.83880693742044 18.9096403148132 +373 15.25139133994422 -10.03445121759556 28.08156057294394 +374 11.15473839340323 -27.97976631288769 24.7393235196738 +375 2.716834184618818 -30.00414387119214 11.29741594712698 +376 13.75073629383578 -19.21615758127576 27.30289947370491 +377 8.765221223480804 -2.762626314096272 28.49368477703557 +378 7.414842143793682 -12.93381599656523 30.01329791601531 +379 2.77621185373673 -26.08956192984735 20.72313239861376 +380 5.026727281437515 -22.40422359815177 27.79061802814724 +381 0 -17.1538237162645 -25.00380549146777 +382 0 -22.81295454328435 -17.45175522854448 +383 0 -25.25414176404805 -9.665226797378034 +384 0 -23.37721728555564 -6.320688732481738 +385 0 18.16236193973029 -3.790485097253462 +386 0 19.19816203211989 -1.370401893378521 +387 0 15.72998854011457 6.12650113804207 +388 0 9.527208099658957 13.33336530344867 +389 0 1.988028275270783 19.11798561944491 +390 0 -10.69564533248903 19.94103774737335 +391 4.31425784703274 16.57560124143309 -23.13876835833995 +392 3.905594687519309 -4.498918920463677 -31.69597396476705 +393 5.21455979023129 20.88334021502228 1.939956460969137 +394 3.943253445523008 11.1789228422026 14.03581180290972 +395 3.924166801685657 20.88083937255172 -16.49482833546826 +396 3.446138722517016 -23.98346454029647 -17.91154306597463 +397 4.107196521344878 -29.54535844343495 -8.167372569836381 +398 3.869103195757228 3.978606114565892 -30.74679043817983 +399 1.211008707802279 -9.295077199923284 21.95242461626947 +400 2.501530437176908 -16.65029327101869 -24.72895240438886 +401 3.147995559953476 19.95203690039072 -3.719117237694474 +402 1.754417271963415 2.122781230137931 19.21976116812318 +403 2.309268438536918 -24.06217326606387 6.803514288708853 +404 4.255102895173839 22.95227294310864 -2.832886695569624 +405 2.157755143064588 -27.75150024344047 -2.272486630928911 +406 4.116025040474271 -11.80638104715107 -29.84464531766659 +407 2.034100384478299 -14.93880452994189 21.69922185131382 +408 2.522342087720308 -20.57462391598152 15.17163868505287 +409 3.328202689753814 0.3448991694490103 23.27647692286257 +410 4.329435908988678 22.33326010581968 -9.256440916203156 +411 4.333714325453447 16.70739848834601 8.118907836176826 +412 4.13944460794198 7.110933102394901 17.4596811782284 +413 2.032773586287972 -26.66051641298053 -6.637697193010194 +414 4.140300625909807 10.70918116573965 -28.29986246532468 +415 4.491212125449512 -20.85717566648215 -23.05822953429023 +416 4.468023858424545 -27.29269538947383 -12.07383684083893 +417 3.788341669058472 -6.133192262749835 24.38950030219534 +$EndNodes +$Elements +2068 +1 1 2 1 3 2 3 +2 1 2 1 3 3 4 +3 1 2 1 3 4 5 +4 1 2 1 3 5 6 +5 1 2 1 3 6 7 +6 1 2 1 3 7 8 +7 1 2 1 3 8 9 +8 1 2 1 3 9 10 +9 1 2 1 3 10 11 +10 1 2 1 3 11 12 +11 1 2 1 3 12 13 +12 1 2 1 3 13 14 +13 1 2 1 3 14 15 +14 1 2 1 3 15 16 +15 1 2 1 3 16 17 +16 1 2 1 3 17 18 +17 1 2 1 3 18 19 +18 1 2 1 3 19 2 +19 1 2 2 4 1 20 +20 1 2 2 4 20 21 +21 1 2 2 4 21 22 +22 1 2 2 4 22 23 +23 1 2 2 4 23 24 +24 1 2 2 4 24 25 +25 1 2 2 4 25 26 +26 1 2 2 4 26 27 +27 1 2 2 4 27 28 +28 1 2 2 4 28 29 +29 1 2 2 4 29 30 +30 1 2 2 4 30 31 +31 1 2 2 4 31 32 +32 1 2 2 4 32 1 +33 2 2 3 5 24 36 33 +34 2 2 3 5 24 23 36 +35 2 2 3 5 26 38 27 +36 2 2 3 5 26 34 38 +37 2 2 3 5 33 39 35 +38 2 2 3 5 33 36 39 +39 2 2 3 5 34 40 38 +40 2 2 3 5 34 37 40 +41 2 2 3 5 23 49 36 +42 2 2 3 5 23 56 49 +43 2 2 3 5 23 22 56 +44 2 2 3 5 35 41 37 +45 2 2 3 5 35 39 41 +46 2 2 3 5 27 44 28 +47 2 2 3 5 27 38 44 +48 2 2 3 5 36 45 39 +49 2 2 3 5 36 49 45 +50 2 2 3 5 37 42 40 +51 2 2 3 5 38 51 44 +52 2 2 3 5 38 43 51 +53 2 2 3 5 38 40 43 +54 2 2 3 5 39 48 41 +55 2 2 3 5 39 45 48 +56 2 2 3 5 40 46 43 +57 2 2 3 5 40 42 46 +58 2 2 3 5 41 50 47 +59 2 2 3 5 41 48 50 +60 2 2 3 5 42 53 46 +61 2 2 3 5 42 54 53 +62 2 2 3 5 42 47 54 +63 2 2 3 5 43 57 51 +64 2 2 3 5 43 52 57 +65 2 2 3 5 43 46 52 +66 2 2 3 5 44 60 28 +67 2 2 3 5 45 62 48 +68 2 2 3 5 45 67 62 +69 2 2 3 5 45 49 67 +70 2 2 3 5 46 53 52 +71 2 2 3 5 47 55 54 +72 2 2 3 5 47 50 55 +73 2 2 3 5 48 58 50 +74 2 2 3 5 48 62 58 +75 2 2 3 5 49 86 67 +76 2 2 3 5 49 56 86 +77 2 2 3 5 28 76 29 +78 2 2 3 5 28 60 76 +79 2 2 3 5 50 63 55 +80 2 2 3 5 50 58 63 +81 2 2 3 5 51 57 65 +82 2 2 3 5 52 61 57 +83 2 2 3 5 52 53 61 +84 2 2 3 5 53 59 61 +85 2 2 3 5 53 54 59 +86 2 2 3 5 54 64 59 +87 2 2 3 5 54 55 64 +88 2 2 3 5 55 66 64 +89 2 2 3 5 55 63 66 +90 2 2 3 5 56 22 147 +91 2 2 3 5 57 77 65 +92 2 2 3 5 57 71 77 +93 2 2 3 5 57 61 71 +94 2 2 3 5 58 70 63 +95 2 2 3 5 58 78 70 +96 2 2 3 5 58 62 78 +97 2 2 3 5 59 68 61 +98 2 2 3 5 59 69 68 +99 2 2 3 5 59 64 69 +100 2 2 3 5 60 109 76 +101 2 2 3 5 60 87 109 +102 2 2 3 5 60 65 87 +103 2 2 3 5 61 72 71 +104 2 2 3 5 61 68 72 +105 2 2 3 5 62 90 78 +106 2 2 3 5 62 67 90 +107 2 2 3 5 63 74 66 +108 2 2 3 5 63 70 74 +109 2 2 3 5 64 73 69 +110 2 2 3 5 64 66 73 +111 2 2 3 5 65 77 87 +112 2 2 3 5 66 75 73 +113 2 2 3 5 66 74 75 +114 2 2 3 5 67 120 90 +115 2 2 3 5 67 86 120 +116 2 2 3 5 68 81 72 +117 2 2 3 5 68 79 81 +118 2 2 3 5 68 69 79 +119 2 2 3 5 69 80 79 +120 2 2 3 5 69 73 80 +121 2 2 3 5 22 21 147 +122 2 2 3 5 70 85 74 +123 2 2 3 5 70 94 85 +124 2 2 3 5 70 78 94 +125 2 2 3 5 71 98 77 +126 2 2 3 5 71 88 98 +127 2 2 3 5 71 72 88 +128 2 2 3 5 72 81 88 +129 2 2 3 5 73 84 80 +130 2 2 3 5 73 83 84 +131 2 2 3 5 73 75 83 +132 2 2 3 5 74 82 75 +133 2 2 3 5 74 93 82 +134 2 2 3 5 74 85 93 +135 2 2 3 5 75 82 83 +136 2 2 3 5 76 109 29 +137 2 2 3 5 77 115 87 +138 2 2 3 5 77 98 115 +139 2 2 3 5 78 114 94 +140 2 2 3 5 78 90 114 +141 2 2 3 5 79 92 81 +142 2 2 3 5 79 89 92 +143 2 2 3 5 79 80 89 +144 2 2 3 5 80 91 89 +145 2 2 3 5 80 84 91 +146 2 2 3 5 81 100 88 +147 2 2 3 5 81 92 100 +148 2 2 3 5 82 95 83 +149 2 2 3 5 82 93 95 +150 2 2 3 5 83 97 84 +151 2 2 3 5 83 95 97 +152 2 2 3 5 84 96 91 +153 2 2 3 5 84 97 96 +154 2 2 3 5 85 110 93 +155 2 2 3 5 85 94 110 +156 2 2 3 5 86 159 120 +157 2 2 3 5 87 148 109 +158 2 2 3 5 87 115 148 +159 2 2 3 5 88 111 98 +160 2 2 3 5 88 100 111 +161 2 2 3 5 89 101 92 +162 2 2 3 5 89 99 101 +163 2 2 3 5 89 91 99 +164 2 2 3 5 90 144 114 +165 2 2 3 5 90 120 144 +166 2 2 3 5 91 102 99 +167 2 2 3 5 91 96 102 +168 2 2 3 5 92 107 100 +169 2 2 3 5 92 101 107 +170 2 2 3 5 93 105 95 +171 2 2 3 5 93 112 105 +172 2 2 3 5 93 110 112 +173 2 2 3 5 94 114 110 +174 2 2 3 5 95 104 97 +175 2 2 3 5 95 105 104 +176 2 2 3 5 96 103 102 +177 2 2 3 5 96 97 103 +178 2 2 3 5 97 104 103 +179 2 2 3 5 98 133 115 +180 2 2 3 5 98 111 133 +181 2 2 3 5 99 106 101 +182 2 2 3 5 99 108 106 +183 2 2 3 5 99 102 108 +184 2 2 3 5 100 122 111 +185 2 2 3 5 100 107 122 +186 2 2 3 5 102 113 108 +187 2 2 3 5 102 103 113 +188 2 2 3 5 103 117 113 +189 2 2 3 5 103 104 117 +190 2 2 3 5 104 118 117 +191 2 2 3 5 104 105 118 +192 2 2 3 5 105 123 118 +193 2 2 3 5 105 112 123 +194 2 2 3 5 106 119 116 +195 2 2 3 5 106 108 119 +196 2 2 3 5 107 126 122 +197 2 2 3 5 107 116 126 +198 2 2 3 5 108 121 119 +199 2 2 3 5 108 113 121 +200 2 2 3 5 109 168 29 +201 2 2 3 5 109 148 168 +202 2 2 3 5 110 131 112 +203 2 2 3 5 110 136 131 +204 2 2 3 5 110 114 136 +205 2 2 3 5 111 142 133 +206 2 2 3 5 111 122 142 +207 2 2 3 5 112 131 123 +208 2 2 3 5 113 124 121 +209 2 2 3 5 113 117 124 +210 2 2 3 5 114 154 136 +211 2 2 3 5 114 144 154 +212 2 2 3 5 115 157 148 +213 2 2 3 5 115 133 157 +214 2 2 3 5 116 127 126 +215 2 2 3 5 116 119 127 +216 2 2 3 5 117 125 124 +217 2 2 3 5 117 118 125 +218 2 2 3 5 118 130 125 +219 2 2 3 5 118 123 130 +220 2 2 3 5 119 128 127 +221 2 2 3 5 119 121 128 +222 2 2 3 5 120 166 144 +223 2 2 3 5 120 159 166 +224 2 2 3 5 121 129 128 +225 2 2 3 5 121 124 129 +226 2 2 3 5 122 143 142 +227 2 2 3 5 122 126 143 +228 2 2 3 5 123 135 130 +229 2 2 3 5 123 131 135 +230 2 2 3 5 124 132 129 +231 2 2 3 5 124 125 132 +232 2 2 3 5 125 137 132 +233 2 2 3 5 125 130 137 +234 2 2 3 5 126 141 143 +235 2 2 3 5 126 127 141 +236 2 2 3 5 127 139 141 +237 2 2 3 5 127 128 139 +238 2 2 3 5 128 134 139 +239 2 2 3 5 128 129 134 +240 2 2 3 5 129 138 134 +241 2 2 3 5 129 132 138 +242 2 2 3 5 131 150 135 +243 2 2 3 5 131 152 150 +244 2 2 3 5 131 136 152 +245 2 2 3 5 132 140 138 +246 2 2 3 5 132 137 140 +247 2 2 3 5 29 168 30 +248 2 2 3 5 133 162 157 +249 2 2 3 5 133 142 162 +250 2 2 3 5 134 138 145 +251 2 2 3 5 135 150 146 +252 2 2 3 5 139 151 141 +253 2 2 3 5 141 155 143 +254 2 2 3 5 141 151 155 +255 2 2 3 5 142 158 162 +256 2 2 3 5 142 143 158 +257 2 2 3 5 143 155 158 +258 2 2 3 5 144 169 154 +259 2 2 3 5 144 166 169 +260 2 2 3 5 145 153 151 +261 2 2 3 5 145 149 153 +262 2 2 3 5 146 150 160 +263 2 2 3 5 147 183 159 +264 2 2 3 5 147 21 183 +265 2 2 3 5 148 174 168 +266 2 2 3 5 148 157 174 +267 2 2 3 5 149 156 153 +268 2 2 3 5 150 164 160 +269 2 2 3 5 150 152 164 +270 2 2 3 5 151 163 155 +271 2 2 3 5 151 153 163 +272 2 2 3 5 152 161 164 +273 2 2 3 5 153 156 163 +274 2 2 3 5 155 165 158 +275 2 2 3 5 155 163 165 +276 2 2 3 5 156 167 163 +277 2 2 3 5 157 175 174 +278 2 2 3 5 157 162 175 +279 2 2 3 5 158 170 162 +280 2 2 3 5 158 165 170 +281 2 2 3 5 159 177 166 +282 2 2 3 5 159 183 177 +283 2 2 3 5 160 164 172 +284 2 2 3 5 161 171 164 +285 2 2 3 5 162 170 175 +286 2 2 3 5 163 173 165 +287 2 2 3 5 163 167 173 +288 2 2 3 5 164 171 172 +289 2 2 3 5 165 173 170 +290 2 2 3 5 166 181 169 +291 2 2 3 5 166 177 181 +292 2 2 3 5 167 176 173 +293 2 2 3 5 167 172 176 +294 2 2 3 5 168 186 30 +295 2 2 3 5 168 174 186 +296 2 2 3 5 169 182 171 +297 2 2 3 5 169 181 182 +298 2 2 3 5 170 179 175 +299 2 2 3 5 170 178 179 +300 2 2 3 5 170 173 178 +301 2 2 3 5 171 182 180 +302 2 2 3 5 171 180 172 +303 2 2 3 5 172 180 176 +304 2 2 3 5 173 176 178 +305 2 2 3 5 174 185 186 +306 2 2 3 5 174 175 185 +307 2 2 3 5 175 179 185 +308 2 2 3 5 176 184 178 +309 2 2 3 5 176 180 184 +310 2 2 3 5 177 188 181 +311 2 2 3 5 177 183 188 +312 2 2 3 5 178 187 179 +313 2 2 3 5 178 184 187 +314 2 2 3 5 179 187 185 +315 2 2 3 5 180 189 184 +316 2 2 3 5 180 182 189 +317 2 2 3 5 181 190 182 +318 2 2 3 5 181 188 190 +319 2 2 3 5 182 190 189 +320 2 2 3 5 21 20 183 +321 2 2 3 5 183 20 188 +322 2 2 3 5 184 191 187 +323 2 2 3 5 184 189 191 +324 2 2 3 5 30 186 31 +325 2 2 3 5 185 192 186 +326 2 2 3 5 185 187 192 +327 2 2 3 5 186 192 31 +328 2 2 3 5 187 191 192 +329 2 2 3 5 188 194 190 +330 2 2 3 5 188 20 194 +331 2 2 3 5 189 193 191 +332 2 2 3 5 189 190 193 +333 2 2 3 5 190 194 193 +334 2 2 3 5 191 195 192 +335 2 2 3 5 191 193 195 +336 2 2 3 5 192 32 31 +337 2 2 3 5 192 195 32 +338 2 2 3 5 193 1 195 +339 2 2 3 5 193 194 1 +340 2 2 3 5 194 20 1 +341 2 2 3 5 195 1 32 +342 2 2 3 5 47 37 41 +343 2 2 3 5 42 37 47 +344 2 2 3 5 65 44 51 +345 2 2 3 5 60 44 65 +346 2 2 3 5 56 159 86 +347 2 2 3 5 56 147 159 +348 2 2 3 5 106 107 101 +349 2 2 3 5 116 107 106 +350 2 2 3 5 135 137 130 +351 2 2 3 5 146 137 135 +352 2 2 3 5 134 151 139 +353 2 2 3 5 134 145 151 +354 2 2 3 5 154 152 136 +355 2 2 3 5 161 152 154 +356 2 2 3 5 146 140 137 +357 2 2 3 5 149 140 146 +358 2 2 3 5 149 138 140 +359 2 2 3 5 145 138 149 +360 2 2 3 5 160 149 146 +361 2 2 3 5 156 149 160 +362 2 2 3 5 169 161 154 +363 2 2 3 5 171 161 169 +364 2 2 3 5 172 156 160 +365 2 2 3 5 167 156 172 +366 2 2 3 5 24 33 25 +367 2 2 3 5 34 26 25 +368 2 2 3 5 33 34 25 +369 2 2 3 5 33 37 34 +370 2 2 3 5 33 35 37 +371 2 2 4 6 9 10 196 +372 2 2 4 6 9 196 198 +373 2 2 4 6 9 198 8 +374 2 2 4 6 10 11 197 +375 2 2 4 6 10 197 196 +376 2 2 4 6 11 12 199 +377 2 2 4 6 11 199 197 +378 2 2 4 6 8 198 204 +379 2 2 4 6 8 204 7 +380 2 2 4 6 196 197 200 +381 2 2 4 6 196 200 201 +382 2 2 4 6 196 201 198 +383 2 2 4 6 197 199 202 +384 2 2 4 6 197 202 200 +385 2 2 4 6 198 201 206 +386 2 2 4 6 198 206 205 +387 2 2 4 6 198 205 204 +388 2 2 4 6 12 13 208 +389 2 2 4 6 12 208 203 +390 2 2 4 6 12 203 199 +391 2 2 4 6 199 203 209 +392 2 2 4 6 199 209 202 +393 2 2 4 6 200 202 207 +394 2 2 4 6 200 207 211 +395 2 2 4 6 200 211 201 +396 2 2 4 6 201 211 206 +397 2 2 4 6 202 209 210 +398 2 2 4 6 202 210 207 +399 2 2 4 6 7 204 222 +400 2 2 4 6 7 222 6 +401 2 2 4 6 203 208 212 +402 2 2 4 6 203 212 209 +403 2 2 4 6 204 205 220 +404 2 2 4 6 204 220 222 +405 2 2 4 6 205 206 217 +406 2 2 4 6 205 217 220 +407 2 2 4 6 206 211 216 +408 2 2 4 6 206 216 217 +409 2 2 4 6 207 210 213 +410 2 2 4 6 207 213 214 +411 2 2 4 6 207 214 211 +412 2 2 4 6 208 13 218 +413 2 2 4 6 208 218 212 +414 2 2 4 6 13 14 231 +415 2 2 4 6 13 231 218 +416 2 2 4 6 209 212 219 +417 2 2 4 6 209 219 215 +418 2 2 4 6 209 215 210 +419 2 2 4 6 210 215 213 +420 2 2 4 6 211 214 221 +421 2 2 4 6 211 221 216 +422 2 2 4 6 212 218 229 +423 2 2 4 6 212 229 227 +424 2 2 4 6 212 227 219 +425 2 2 4 6 213 215 223 +426 2 2 4 6 213 223 224 +427 2 2 4 6 213 224 214 +428 2 2 4 6 214 224 226 +429 2 2 4 6 214 226 221 +430 2 2 4 6 215 219 225 +431 2 2 4 6 215 225 223 +432 2 2 4 6 216 221 230 +433 2 2 4 6 216 230 228 +434 2 2 4 6 216 228 217 +435 2 2 4 6 217 228 241 +436 2 2 4 6 217 241 220 +437 2 2 4 6 218 231 229 +438 2 2 4 6 219 227 236 +439 2 2 4 6 219 236 225 +440 2 2 4 6 220 241 252 +441 2 2 4 6 220 252 222 +442 2 2 4 6 221 226 235 +443 2 2 4 6 221 235 230 +444 2 2 4 6 222 252 272 +445 2 2 4 6 222 272 6 +446 2 2 4 6 223 225 233 +447 2 2 4 6 223 233 232 +448 2 2 4 6 223 232 224 +449 2 2 4 6 224 232 234 +450 2 2 4 6 224 234 226 +451 2 2 4 6 225 236 237 +452 2 2 4 6 225 237 233 +453 2 2 4 6 226 234 238 +454 2 2 4 6 226 238 235 +455 2 2 4 6 227 229 245 +456 2 2 4 6 227 245 236 +457 2 2 4 6 228 230 244 +458 2 2 4 6 228 244 241 +459 2 2 4 6 229 231 250 +460 2 2 4 6 229 250 245 +461 2 2 4 6 230 235 246 +462 2 2 4 6 230 246 244 +463 2 2 4 6 231 14 266 +464 2 2 4 6 231 266 250 +465 2 2 4 6 232 233 239 +466 2 2 4 6 232 239 240 +467 2 2 4 6 232 240 234 +468 2 2 4 6 233 237 242 +469 2 2 4 6 233 242 239 +470 2 2 4 6 14 15 266 +471 2 2 4 6 234 240 243 +472 2 2 4 6 234 243 238 +473 2 2 4 6 235 238 247 +474 2 2 4 6 235 247 246 +475 2 2 4 6 236 245 257 +476 2 2 4 6 236 257 248 +477 2 2 4 6 236 248 237 +478 2 2 4 6 237 248 242 +479 2 2 4 6 238 243 254 +480 2 2 4 6 238 254 247 +481 2 2 4 6 239 242 253 +482 2 2 4 6 239 253 249 +483 2 2 4 6 239 249 240 +484 2 2 4 6 240 249 251 +485 2 2 4 6 240 251 243 +486 2 2 4 6 241 244 274 +487 2 2 4 6 241 274 284 +488 2 2 4 6 241 284 252 +489 2 2 4 6 242 248 256 +490 2 2 4 6 242 256 253 +491 2 2 4 6 243 255 254 +492 2 2 4 6 244 246 265 +493 2 2 4 6 244 265 274 +494 2 2 4 6 245 250 271 +495 2 2 4 6 245 271 257 +496 2 2 4 6 246 247 262 +497 2 2 4 6 246 262 265 +498 2 2 4 6 247 254 261 +499 2 2 4 6 247 261 262 +500 2 2 4 6 248 257 268 +501 2 2 4 6 248 268 256 +502 2 2 4 6 249 253 260 +503 2 2 4 6 249 260 258 +504 2 2 4 6 249 258 251 +505 2 2 4 6 250 266 298 +506 2 2 4 6 250 298 271 +507 2 2 4 6 251 258 259 +508 2 2 4 6 252 284 317 +509 2 2 4 6 252 317 272 +510 2 2 4 6 253 256 263 +511 2 2 4 6 253 263 260 +512 2 2 4 6 254 255 264 +513 2 2 4 6 254 264 261 +514 2 2 4 6 255 259 267 +515 2 2 4 6 255 267 264 +516 2 2 4 6 256 268 275 +517 2 2 4 6 256 275 263 +518 2 2 4 6 257 271 290 +519 2 2 4 6 257 290 291 +520 2 2 4 6 257 291 268 +521 2 2 4 6 258 260 270 +522 2 2 4 6 258 270 269 +523 2 2 4 6 258 269 259 +524 2 2 4 6 259 269 267 +525 2 2 4 6 260 263 273 +526 2 2 4 6 260 273 270 +527 2 2 4 6 261 264 276 +528 2 2 4 6 261 276 282 +529 2 2 4 6 261 282 262 +530 2 2 4 6 262 282 286 +531 2 2 4 6 262 286 265 +532 2 2 4 6 263 275 278 +533 2 2 4 6 263 278 273 +534 2 2 4 6 264 267 277 +535 2 2 4 6 264 277 276 +536 2 2 4 6 265 286 302 +537 2 2 4 6 265 302 274 +538 2 2 4 6 266 15 330 +539 2 2 4 6 266 330 298 +540 2 2 4 6 267 269 280 +541 2 2 4 6 267 280 277 +542 2 2 4 6 268 291 292 +543 2 2 4 6 268 292 275 +544 2 2 4 6 269 270 279 +545 2 2 4 6 269 279 280 +546 2 2 4 6 270 273 281 +547 2 2 4 6 270 281 279 +548 2 2 4 6 271 298 324 +549 2 2 4 6 271 324 290 +550 2 2 4 6 272 317 340 +551 2 2 4 6 273 278 283 +552 2 2 4 6 273 283 281 +553 2 2 4 6 274 302 318 +554 2 2 4 6 274 318 284 +555 2 2 4 6 275 292 294 +556 2 2 4 6 275 294 278 +557 2 2 4 6 276 277 295 +558 2 2 4 6 276 295 296 +559 2 2 4 6 276 296 282 +560 2 2 4 6 277 280 285 +561 2 2 4 6 277 285 295 +562 2 2 4 6 278 294 293 +563 2 2 4 6 278 293 283 +564 2 2 4 6 279 281 287 +565 2 2 4 6 279 287 288 +566 2 2 4 6 279 288 280 +567 2 2 4 6 280 288 285 +568 2 2 4 6 281 283 289 +569 2 2 4 6 281 289 287 +570 2 2 4 6 282 296 304 +571 2 2 4 6 282 304 286 +572 2 2 4 6 283 293 301 +573 2 2 4 6 283 301 289 +574 2 2 4 6 284 318 336 +575 2 2 4 6 284 336 317 +576 2 2 4 6 285 288 299 +577 2 2 4 6 285 299 295 +578 2 2 4 6 286 304 316 +579 2 2 4 6 286 316 302 +580 2 2 4 6 287 289 300 +581 2 2 4 6 287 300 297 +582 2 2 4 6 287 297 288 +583 2 2 4 6 288 297 303 +584 2 2 4 6 288 303 299 +585 2 2 4 6 289 301 300 +586 2 2 4 6 290 324 322 +587 2 2 4 6 290 322 291 +588 2 2 4 6 291 322 315 +589 2 2 4 6 291 315 292 +590 2 2 4 6 292 315 310 +591 2 2 4 6 292 310 294 +592 2 2 4 6 293 294 305 +593 2 2 4 6 293 305 301 +594 2 2 4 6 294 310 305 +595 2 2 4 6 295 299 308 +596 2 2 4 6 295 308 311 +597 2 2 4 6 295 311 296 +598 2 2 4 6 296 311 304 +599 2 2 4 6 297 300 306 +600 2 2 4 6 297 306 303 +601 2 2 4 6 298 330 324 +602 2 2 4 6 299 303 309 +603 2 2 4 6 299 309 308 +604 2 2 4 6 300 301 307 +605 2 2 4 6 300 307 306 +606 2 2 4 6 301 305 313 +607 2 2 4 6 301 313 307 +608 2 2 4 6 302 316 331 +609 2 2 4 6 302 331 318 +610 2 2 4 6 303 306 312 +611 2 2 4 6 303 312 309 +612 2 2 4 6 304 311 326 +613 2 2 4 6 304 326 316 +614 2 2 4 6 305 310 321 +615 2 2 4 6 305 321 313 +616 2 2 4 6 306 307 314 +617 2 2 4 6 306 314 312 +618 2 2 4 6 307 313 314 +619 2 2 4 6 308 309 319 +620 2 2 4 6 308 319 311 +621 2 2 4 6 309 312 320 +622 2 2 4 6 309 320 319 +623 2 2 4 6 310 315 329 +624 2 2 4 6 310 329 321 +625 2 2 4 6 311 319 328 +626 2 2 4 6 311 328 326 +627 2 2 4 6 15 16 330 +628 2 2 4 6 312 314 323 +629 2 2 4 6 312 323 320 +630 2 2 4 6 313 321 325 +631 2 2 4 6 313 325 314 +632 2 2 4 6 314 325 323 +633 2 2 4 6 315 322 335 +634 2 2 4 6 315 335 329 +635 2 2 4 6 316 326 337 +636 2 2 4 6 316 337 331 +637 2 2 4 6 317 336 352 +638 2 2 4 6 317 352 340 +639 2 2 4 6 318 331 345 +640 2 2 4 6 318 345 336 +641 2 2 4 6 319 320 327 +642 2 2 4 6 319 327 328 +643 2 2 4 6 320 323 327 +644 2 2 4 6 321 329 333 +645 2 2 4 6 321 333 325 +646 2 2 4 6 322 324 344 +647 2 2 4 6 322 344 335 +648 2 2 4 6 323 325 332 +649 2 2 4 6 323 332 334 +650 2 2 4 6 323 334 327 +651 2 2 4 6 324 330 346 +652 2 2 4 6 324 346 344 +653 2 2 4 6 325 333 332 +654 2 2 4 6 326 328 339 +655 2 2 4 6 326 339 337 +656 2 2 4 6 327 334 338 +657 2 2 4 6 327 338 328 +658 2 2 4 6 328 338 339 +659 2 2 4 6 329 335 341 +660 2 2 4 6 329 341 333 +661 2 2 4 6 330 16 354 +662 2 2 4 6 330 354 346 +663 2 2 4 6 331 337 347 +664 2 2 4 6 331 347 345 +665 2 2 4 6 332 333 342 +666 2 2 4 6 332 342 343 +667 2 2 4 6 332 343 334 +668 2 2 4 6 333 341 342 +669 2 2 4 6 334 343 338 +670 2 2 4 6 335 344 349 +671 2 2 4 6 335 349 341 +672 2 2 4 6 336 345 355 +673 2 2 4 6 336 355 352 +674 2 2 4 6 337 339 350 +675 2 2 4 6 337 350 347 +676 2 2 4 6 338 343 348 +677 2 2 4 6 340 362 5 +678 2 2 4 6 341 349 351 +679 2 2 4 6 341 351 342 +680 2 2 4 6 342 351 353 +681 2 2 4 6 342 353 343 +682 2 2 4 6 343 353 348 +683 2 2 4 6 344 346 356 +684 2 2 4 6 344 356 349 +685 2 2 4 6 345 347 358 +686 2 2 4 6 345 358 355 +687 2 2 4 6 346 354 363 +688 2 2 4 6 346 363 356 +689 2 2 4 6 347 350 360 +690 2 2 4 6 347 360 358 +691 2 2 4 6 348 353 357 +692 2 2 4 6 348 357 350 +693 2 2 4 6 349 356 361 +694 2 2 4 6 349 361 359 +695 2 2 4 6 349 359 351 +696 2 2 4 6 350 357 360 +697 2 2 4 6 351 359 353 +698 2 2 4 6 352 355 365 +699 2 2 4 6 5 362 4 +700 2 2 4 6 353 359 364 +701 2 2 4 6 353 364 357 +702 2 2 4 6 354 16 17 +703 2 2 4 6 354 17 363 +704 2 2 4 6 355 358 366 +705 2 2 4 6 355 366 365 +706 2 2 4 6 356 363 371 +707 2 2 4 6 356 371 370 +708 2 2 4 6 356 370 361 +709 2 2 4 6 357 364 367 +710 2 2 4 6 357 367 360 +711 2 2 4 6 358 360 368 +712 2 2 4 6 358 368 366 +713 2 2 4 6 359 361 369 +714 2 2 4 6 359 369 364 +715 2 2 4 6 360 367 368 +716 2 2 4 6 361 370 369 +717 2 2 4 6 362 365 375 +718 2 2 4 6 362 375 4 +719 2 2 4 6 363 17 371 +720 2 2 4 6 364 369 373 +721 2 2 4 6 364 373 367 +722 2 2 4 6 365 366 372 +723 2 2 4 6 365 372 375 +724 2 2 4 6 366 368 374 +725 2 2 4 6 366 374 372 +726 2 2 4 6 367 373 376 +727 2 2 4 6 367 376 368 +728 2 2 4 6 368 376 374 +729 2 2 4 6 369 370 377 +730 2 2 4 6 369 377 373 +731 2 2 4 6 370 371 377 +732 2 2 4 6 371 17 18 +733 2 2 4 6 371 18 377 +734 2 2 4 6 372 379 375 +735 2 2 4 6 373 377 378 +736 2 2 4 6 373 378 376 +737 2 2 4 6 374 376 380 +738 2 2 4 6 375 379 3 +739 2 2 4 6 375 3 4 +740 2 2 4 6 376 378 380 +741 2 2 4 6 377 18 19 +742 2 2 4 6 377 19 378 +743 2 2 4 6 379 380 2 +744 2 2 4 6 379 2 3 +745 2 2 4 6 340 5 6 +746 2 2 4 6 272 340 6 +747 2 2 4 6 243 251 259 +748 2 2 4 6 243 259 255 +749 2 2 4 6 350 339 338 +750 2 2 4 6 348 350 338 +751 2 2 4 6 340 352 365 +752 2 2 4 6 340 365 362 +753 2 2 4 6 372 374 380 +754 2 2 4 6 372 380 379 +755 2 2 4 6 19 2 380 +756 2 2 4 6 19 380 378 +757 2 2 5 8 9 10 26 +758 2 2 5 8 9 26 25 +759 2 2 5 8 9 25 8 +760 2 2 5 8 10 11 27 +761 2 2 5 8 10 27 26 +762 2 2 5 8 11 12 27 +763 2 2 5 8 8 25 381 +764 2 2 5 8 8 381 7 +765 2 2 5 8 25 24 381 +766 2 2 5 8 381 24 7 +767 2 2 5 8 12 13 28 +768 2 2 5 8 12 28 27 +769 2 2 5 8 7 24 382 +770 2 2 5 8 7 382 6 +771 2 2 5 8 24 23 382 +772 2 2 5 8 382 23 6 +773 2 2 5 8 28 13 29 +774 2 2 5 8 13 14 29 +775 2 2 5 8 6 23 383 +776 2 2 5 8 6 383 5 +777 2 2 5 8 23 22 384 +778 2 2 5 8 23 384 383 +779 2 2 5 8 383 384 5 +780 2 2 5 8 29 14 385 +781 2 2 5 8 29 385 30 +782 2 2 5 8 384 22 5 +783 2 2 5 8 14 15 386 +784 2 2 5 8 14 386 385 +785 2 2 5 8 5 22 4 +786 2 2 5 8 385 386 30 +787 2 2 5 8 22 21 4 +788 2 2 5 8 386 15 30 +789 2 2 5 8 30 15 387 +790 2 2 5 8 30 387 31 +791 2 2 5 8 15 16 387 +792 2 2 5 8 4 21 3 +793 2 2 5 8 21 20 3 +794 2 2 5 8 387 16 31 +795 2 2 5 8 31 16 388 +796 2 2 5 8 31 388 32 +797 2 2 5 8 16 17 388 +798 2 2 5 8 20 1 390 +799 2 2 5 8 20 390 2 +800 2 2 5 8 20 2 3 +801 2 2 5 8 388 17 32 +802 2 2 5 8 32 17 389 +803 2 2 5 8 32 389 1 +804 2 2 5 8 17 18 389 +805 2 2 5 8 1 389 18 +806 2 2 5 8 1 18 19 +807 2 2 5 8 1 19 390 +808 2 2 5 8 390 19 2 +809 4 2 6 10 228 244 230 50 +810 4 2 6 10 401 410 14 404 +811 4 2 6 10 295 311 105 296 +812 4 2 6 10 75 74 66 262 +813 4 2 6 10 184 180 176 359 +814 4 2 6 10 175 344 322 324 +815 4 2 6 10 24 415 396 7 +816 4 2 6 10 35 220 204 205 +817 4 2 6 10 411 30 393 186 +818 4 2 6 10 162 322 175 170 +819 4 2 6 10 106 269 108 99 +820 4 2 6 10 64 66 238 73 +821 4 2 6 10 107 101 92 253 +822 4 2 6 10 195 371 191 192 +823 4 2 6 10 85 316 286 304 +824 4 2 6 10 180 357 364 182 +825 4 2 6 10 13 14 410 231 +826 4 2 6 10 200 46 43 40 +827 4 2 6 10 69 234 226 59 +828 4 2 6 10 101 258 106 99 +829 4 2 6 10 126 278 127 116 +830 4 2 6 10 98 71 219 225 +831 4 2 6 10 63 74 246 66 +832 4 2 6 10 343 156 342 332 +833 4 2 6 10 114 347 331 337 +834 4 2 6 10 392 26 34 38 +835 4 2 6 10 52 57 213 210 +836 4 2 6 10 87 229 231 148 +837 4 2 6 10 98 115 236 227 +838 4 2 6 10 59 53 61 224 +839 4 2 6 10 87 218 109 231 +840 4 2 6 10 114 345 331 347 +841 4 2 6 10 98 219 71 77 +842 4 2 6 10 149 334 323 332 +843 4 2 6 10 250 266 231 148 +844 4 2 6 10 53 213 61 224 +845 4 2 6 10 229 218 87 231 +846 4 2 6 10 93 112 110 304 +847 4 2 6 10 351 349 176 359 +848 4 2 6 10 357 367 364 182 +849 4 2 6 10 250 266 148 174 +850 4 2 6 10 38 196 40 34 +851 4 2 6 10 211 206 42 201 +852 4 2 6 10 167 351 342 341 +853 4 2 6 10 295 299 285 117 +854 4 2 6 10 233 225 88 237 +855 4 2 6 10 133 142 248 257 +856 4 2 6 10 201 200 196 40 +857 4 2 6 10 245 250 229 115 +858 4 2 6 10 307 313 138 314 +859 4 2 6 10 121 288 287 297 +860 4 2 6 10 97 264 83 84 +861 4 2 6 10 75 261 262 247 +862 4 2 6 10 189 190 373 193 +863 4 2 6 10 96 277 103 97 +864 4 2 6 10 96 102 103 267 +865 4 2 6 10 15 411 30 393 +866 4 2 6 10 388 31 16 394 +867 4 2 6 10 103 285 117 104 +868 4 2 6 10 290 322 324 175 +869 4 2 6 10 79 68 81 232 +870 4 2 6 10 411 30 186 31 +871 4 2 6 10 396 415 24 36 +872 4 2 6 10 69 64 226 238 +873 4 2 6 10 355 345 336 120 +874 4 2 6 10 239 81 100 242 +875 4 2 6 10 355 120 159 166 +876 4 2 6 10 345 90 336 120 +877 4 2 6 10 256 107 253 263 +878 4 2 6 10 93 296 282 95 +879 4 2 6 10 346 174 324 175 +880 4 2 6 10 109 87 231 148 +881 4 2 6 10 70 274 265 302 +882 4 2 6 10 69 64 238 73 +883 4 2 6 10 234 69 226 238 +884 4 2 6 10 201 37 40 34 +885 4 2 6 10 189 184 370 369 +886 4 2 6 10 223 213 61 215 +887 4 2 6 10 338 327 135 146 +888 4 2 6 10 328 123 326 131 +889 4 2 6 10 255 96 264 267 +890 4 2 6 10 93 296 105 304 +891 4 2 6 10 222 33 39 204 +892 4 2 6 10 74 262 265 246 +893 4 2 6 10 57 71 61 215 +894 4 2 6 10 228 41 50 47 +895 4 2 6 10 75 262 66 247 +896 4 2 6 10 182 360 367 169 +897 4 2 6 10 244 63 265 246 +898 4 2 6 10 350 136 347 154 +899 4 2 6 10 169 161 360 154 +900 4 2 6 10 321 145 153 151 +901 4 2 6 10 416 397 56 413 +902 4 2 6 10 5 413 22 405 +903 4 2 6 10 119 279 270 281 +904 4 2 6 10 360 161 169 171 +905 4 2 6 10 268 143 275 292 +906 4 2 6 10 349 178 361 356 +907 4 2 6 10 4 405 22 403 +908 4 2 6 10 126 143 275 122 +909 4 2 6 10 85 74 286 265 +910 4 2 6 10 206 201 198 37 +911 4 2 6 10 191 371 363 192 +912 4 2 6 10 74 85 70 265 +913 4 2 6 10 63 74 265 246 +914 4 2 6 10 107 263 122 126 +915 4 2 6 10 242 88 111 237 +916 4 2 6 10 90 331 345 318 +917 4 2 6 10 332 153 325 149 +918 4 2 6 10 338 146 160 334 +919 4 2 6 10 288 299 117 285 +920 4 2 6 10 340 397 5 405 +921 4 2 6 10 296 93 105 95 +922 4 2 6 10 118 299 308 295 +923 4 2 6 10 345 347 144 358 +924 4 2 6 10 190 367 181 182 +925 4 2 6 10 173 178 176 349 +926 4 2 6 10 157 250 245 115 +927 4 2 6 10 142 158 292 291 +928 4 2 6 10 306 129 132 138 +929 4 2 6 10 301 127 128 139 +930 4 2 6 10 173 349 176 351 +931 4 2 6 10 108 119 121 279 +932 4 2 6 10 74 63 265 70 +933 4 2 6 10 112 93 105 304 +934 4 2 6 10 286 93 304 282 +935 4 2 6 10 321 151 153 333 +936 4 2 6 10 190 189 373 182 +937 4 2 6 10 179 178 170 344 +938 4 2 6 10 254 247 73 238 +939 4 2 6 10 213 53 214 224 +940 4 2 6 10 93 296 304 282 +941 4 2 6 10 354 185 186 330 +942 4 2 6 10 333 151 153 163 +943 4 2 6 10 218 13 208 395 +944 4 2 6 10 140 312 314 323 +945 4 2 6 10 154 114 347 144 +946 4 2 6 10 343 338 160 334 +947 4 2 6 10 53 54 211 214 +948 4 2 6 10 404 266 231 14 +949 4 2 6 10 262 93 74 286 +950 4 2 6 10 135 123 130 319 +951 4 2 6 10 326 136 337 339 +952 4 2 6 10 261 262 282 82 +953 4 2 6 10 262 93 286 282 +954 4 2 6 10 246 63 66 55 +955 4 2 6 10 398 26 27 10 +956 4 2 6 10 48 244 58 274 +957 4 2 6 10 107 256 100 122 +958 4 2 6 10 258 251 89 249 +959 4 2 6 10 81 88 100 242 +960 4 2 6 10 229 87 115 148 +961 4 2 6 10 272 416 6 397 +962 4 2 6 10 124 129 303 297 +963 4 2 6 10 184 180 359 369 +964 4 2 6 10 308 130 319 309 +965 4 2 6 10 246 235 66 247 +966 4 2 6 10 16 394 17 388 +967 4 2 6 10 124 299 303 125 +968 4 2 6 10 125 137 309 132 +969 4 2 6 10 262 93 282 82 +970 4 2 6 10 407 390 399 20 +971 4 2 6 10 24 25 400 381 +972 4 2 6 10 317 284 67 336 +973 4 2 6 10 274 58 62 78 +974 4 2 6 10 197 196 398 10 +975 4 2 6 10 261 83 95 276 +976 4 2 6 10 360 358 154 347 +977 4 2 6 10 160 338 348 150 +978 4 2 6 10 365 355 159 366 +979 4 2 6 10 107 263 116 260 +980 4 2 6 10 65 208 87 212 +981 4 2 6 10 211 201 42 40 +982 4 2 6 10 310 143 155 315 +983 4 2 6 10 411 31 394 16 +984 4 2 6 10 125 299 309 308 +985 4 2 6 10 270 258 106 260 +986 4 2 6 10 46 211 42 40 +987 4 2 6 10 168 109 231 148 +988 4 2 6 10 299 125 309 303 +989 4 2 6 10 312 132 303 309 +990 4 2 6 10 30 401 385 386 +991 4 2 6 10 31 411 387 16 +992 4 2 6 10 98 225 237 88 +993 4 2 6 10 266 393 330 15 +994 4 2 6 10 112 311 326 304 +995 4 2 6 10 173 335 341 165 +996 4 2 6 10 145 321 153 325 +997 4 2 6 10 356 346 187 363 +998 4 2 6 10 200 211 40 201 +999 4 2 6 10 163 173 341 165 +1000 4 2 6 10 220 222 39 204 +1001 4 2 6 10 200 46 40 211 +1002 4 2 6 10 212 87 77 227 +1003 4 2 6 10 52 57 210 43 +1004 4 2 6 10 167 173 351 341 +1005 4 2 6 10 173 167 163 341 +1006 4 2 6 10 133 248 142 111 +1007 4 2 6 10 323 332 325 149 +1008 4 2 6 10 266 168 148 174 +1009 4 2 6 10 174 324 298 330 +1010 4 2 6 10 291 133 257 142 +1011 4 2 6 10 35 220 39 204 +1012 4 2 6 10 162 157 290 133 +1013 4 2 6 10 98 248 133 111 +1014 4 2 6 10 262 74 66 246 +1015 4 2 6 10 49 252 317 272 +1016 4 2 6 10 221 216 42 211 +1017 4 2 6 10 41 206 217 205 +1018 4 2 6 10 118 299 295 117 +1019 4 2 6 10 93 85 286 304 +1020 4 2 6 10 300 121 287 297 +1021 4 2 6 10 118 299 125 308 +1022 4 2 6 10 113 288 121 124 +1023 4 2 6 10 97 264 276 83 +1024 4 2 6 10 252 36 222 272 +1025 4 2 6 10 188 2 407 408 +1026 4 2 6 10 68 223 61 72 +1027 4 2 6 10 63 58 265 70 +1028 4 2 6 10 268 142 111 122 +1029 4 2 6 10 288 113 121 279 +1030 4 2 6 10 53 211 207 214 +1031 4 2 6 10 141 294 127 126 +1032 4 2 6 10 300 121 297 129 +1033 4 2 6 10 110 112 326 304 +1034 4 2 6 10 156 167 342 163 +1035 4 2 6 10 236 98 237 248 +1036 4 2 6 10 376 367 368 181 +1037 4 2 6 10 234 69 243 240 +1038 4 2 6 10 130 118 125 308 +1039 4 2 6 10 317 86 67 49 +1040 4 2 6 10 98 219 236 225 +1041 4 2 6 10 135 123 328 131 +1042 4 2 6 10 349 361 176 359 +1043 4 2 6 10 362 56 159 86 +1044 4 2 6 10 79 239 81 92 +1045 4 2 6 10 314 145 149 325 +1046 4 2 6 10 328 339 150 131 +1047 4 2 6 10 123 135 328 319 +1048 4 2 6 10 285 295 117 104 +1049 4 2 6 10 129 306 303 297 +1050 4 2 6 10 294 310 141 305 +1051 4 2 6 10 389 402 32 17 +1052 4 2 6 10 402 18 17 389 +1053 4 2 6 10 295 296 104 276 +1054 4 2 6 10 118 319 308 130 +1055 4 2 6 10 310 151 141 305 +1056 4 2 6 10 262 246 66 247 +1057 4 2 6 10 113 103 285 117 +1058 4 2 6 10 18 409 17 371 +1059 4 2 6 10 295 118 117 104 +1060 4 2 6 10 49 252 272 36 +1061 4 2 6 10 96 277 97 264 +1062 4 2 6 10 235 64 55 66 +1063 4 2 6 10 296 276 282 95 +1064 4 2 6 10 118 319 130 123 +1065 4 2 6 10 102 113 280 108 +1066 4 2 6 10 106 273 270 260 +1067 4 2 6 10 102 267 280 103 +1068 4 2 6 10 288 113 279 280 +1069 4 2 6 10 85 316 302 286 +1070 4 2 6 10 126 294 275 143 +1071 4 2 6 10 340 397 6 5 +1072 4 2 6 10 382 23 396 24 +1073 4 2 6 10 250 229 115 148 +1074 4 2 6 10 252 36 45 39 +1075 4 2 6 10 263 278 126 116 +1076 4 2 6 10 397 383 6 5 +1077 4 2 6 10 180 369 364 359 +1078 4 2 6 10 176 351 359 353 +1079 4 2 6 10 233 223 232 72 +1080 4 2 6 10 296 311 105 304 +1081 4 2 6 10 25 8 400 381 +1082 4 2 6 10 261 75 262 82 +1083 4 2 6 10 372 159 375 177 +1084 4 2 6 10 252 36 39 222 +1085 4 2 6 10 8 25 406 9 +1086 4 2 6 10 65 208 212 203 +1087 4 2 6 10 397 49 340 272 +1088 4 2 6 10 206 37 198 205 +1089 4 2 6 10 379 372 375 177 +1090 4 2 6 10 8 415 7 204 +1091 4 2 6 10 394 388 32 17 +1092 4 2 6 10 29 410 13 14 +1093 4 2 6 10 340 362 405 5 +1094 4 2 6 10 175 344 324 346 +1095 4 2 6 10 340 86 56 362 +1096 4 2 6 10 120 90 336 67 +1097 4 2 6 10 142 268 111 248 +1098 4 2 6 10 68 79 69 234 +1099 4 2 6 10 57 65 219 209 +1100 4 2 6 10 65 57 219 77 +1101 4 2 6 10 371 195 17 412 +1102 4 2 6 10 17 195 402 412 +1103 4 2 6 10 233 239 81 232 +1104 4 2 6 10 321 310 151 329 +1105 4 2 6 10 333 151 163 329 +1106 4 2 6 10 157 162 290 175 +1107 4 2 6 10 344 170 175 322 +1108 4 2 6 10 321 151 333 329 +1109 4 2 6 10 92 101 89 249 +1110 4 2 6 10 104 296 95 276 +1111 4 2 6 10 4 405 403 362 +1112 4 2 6 10 367 169 368 181 +1113 4 2 6 10 397 49 272 416 +1114 4 2 6 10 86 365 340 352 +1115 4 2 6 10 74 262 286 265 +1116 4 2 6 10 379 2 380 188 +1117 4 2 6 10 382 7 24 396 +1118 4 2 6 10 159 56 362 147 +1119 4 2 6 10 4 405 362 5 +1120 4 2 6 10 322 344 170 335 +1121 4 2 6 10 120 86 67 352 +1122 4 2 6 10 277 96 103 267 +1123 4 2 6 10 124 125 303 132 +1124 4 2 6 10 157 324 271 298 +1125 4 2 6 10 283 278 127 293 +1126 4 2 6 10 261 276 95 282 +1127 4 2 6 10 326 136 339 131 +1128 4 2 6 10 288 124 303 297 +1129 4 2 6 10 80 240 89 251 +1130 4 2 6 10 180 357 353 364 +1131 4 2 6 10 357 164 171 172 +1132 4 2 6 10 137 309 312 320 +1133 4 2 6 10 301 289 128 127 +1134 4 2 6 10 404 14 231 410 +1135 4 2 6 10 346 174 175 185 +1136 4 2 6 10 245 257 133 236 +1137 4 2 6 10 310 321 151 305 +1138 4 2 6 10 382 23 6 396 +1139 4 2 6 10 23 413 384 383 +1140 4 2 6 10 124 288 121 297 +1141 4 2 6 10 5 22 413 384 +1142 4 2 6 10 157 290 271 324 +1143 4 2 6 10 352 317 67 336 +1144 4 2 6 10 7 24 400 381 +1145 4 2 6 10 357 161 360 171 +1146 4 2 6 10 353 160 348 172 +1147 4 2 6 10 366 355 166 358 +1148 4 2 6 10 338 146 150 160 +1149 4 2 6 10 195 370 371 377 +1150 4 2 6 10 311 123 328 319 +1151 4 2 6 10 58 244 265 274 +1152 4 2 6 10 86 317 67 352 +1153 4 2 6 10 345 90 318 336 +1154 4 2 6 10 156 332 333 342 +1155 4 2 6 10 404 14 15 266 +1156 4 2 6 10 82 261 95 282 +1157 4 2 6 10 376 190 378 373 +1158 4 2 6 10 157 250 174 298 +1159 4 2 6 10 190 376 367 373 +1160 4 2 6 10 260 106 107 101 +1161 4 2 6 10 391 414 44 27 +1162 4 2 6 10 266 174 298 330 +1163 4 2 6 10 314 145 325 313 +1164 4 2 6 10 125 130 309 137 +1165 4 2 6 10 360 154 358 169 +1166 4 2 6 10 366 159 177 166 +1167 4 2 6 10 134 145 138 313 +1168 4 2 6 10 373 367 182 364 +1169 4 2 6 10 184 189 370 191 +1170 4 2 6 10 20 188 407 408 +1171 4 2 6 10 349 173 170 335 +1172 4 2 6 10 314 145 313 138 +1173 4 2 6 10 153 145 325 149 +1174 4 2 6 10 411 30 31 387 +1175 4 2 6 10 393 30 15 386 +1176 4 2 6 10 15 30 411 387 +1177 4 2 6 10 401 14 385 386 +1178 4 2 6 10 174 393 330 266 +1179 4 2 6 10 179 356 346 187 +1180 4 2 6 10 404 15 14 386 +1181 4 2 6 10 217 39 48 41 +1182 4 2 6 10 159 403 362 375 +1183 4 2 6 10 35 217 39 220 +1184 4 2 6 10 201 42 40 37 +1185 4 2 6 10 49 252 36 45 +1186 4 2 6 10 191 184 187 356 +1187 4 2 6 10 86 365 159 362 +1188 4 2 6 10 403 3 375 408 +1189 4 2 6 10 416 23 396 6 +1190 4 2 6 10 29 401 14 385 +1191 4 2 6 10 401 29 30 385 +1192 4 2 6 10 35 41 39 217 +1193 4 2 6 10 328 338 150 339 +1194 4 2 6 10 159 403 375 183 +1195 4 2 6 10 416 222 6 396 +1196 4 2 6 10 222 36 39 33 +1197 4 2 6 10 274 70 78 302 +1198 4 2 6 10 46 211 53 42 +1199 4 2 6 10 217 41 228 216 +1200 4 2 6 10 230 47 221 216 +1201 4 2 6 10 12 395 28 391 +1202 4 2 6 10 139 313 305 151 +1203 4 2 6 10 115 245 133 236 +1204 4 2 6 10 258 101 106 260 +1205 4 2 6 10 174 157 324 175 +1206 4 2 6 10 169 368 166 358 +1207 4 2 6 10 244 63 230 50 +1208 4 2 6 10 222 252 220 39 +1209 4 2 6 10 74 85 286 93 +1210 4 2 6 10 49 252 45 317 +1211 4 2 6 10 137 323 140 146 +1212 4 2 6 10 63 244 265 58 +1213 4 2 6 10 53 211 54 42 +1214 4 2 6 10 107 106 260 116 +1215 4 2 6 10 201 37 34 198 +1216 4 2 6 10 196 200 38 40 +1217 4 2 6 10 52 46 207 53 +1218 4 2 6 10 234 69 238 243 +1219 4 2 6 10 71 223 61 215 +1220 4 2 6 10 96 277 264 267 +1221 4 2 6 10 240 251 249 89 +1222 4 2 6 10 120 352 67 336 +1223 4 2 6 10 233 81 72 232 +1224 4 2 6 10 196 201 40 34 +1225 4 2 6 10 80 79 89 240 +1226 4 2 6 10 92 239 253 249 +1227 4 2 6 10 79 239 240 232 +1228 4 2 6 10 317 272 340 49 +1229 4 2 6 10 86 317 340 49 +1230 4 2 6 10 23 56 413 416 +1231 4 2 6 10 416 23 49 36 +1232 4 2 6 10 407 378 380 188 +1233 4 2 6 10 59 68 224 61 +1234 4 2 6 10 414 12 27 391 +1235 4 2 6 10 68 223 224 61 +1236 4 2 6 10 113 108 121 279 +1237 4 2 6 10 149 146 140 323 +1238 4 2 6 10 283 119 127 273 +1239 4 2 6 10 233 225 72 88 +1240 4 2 6 10 129 134 300 128 +1241 4 2 6 10 306 312 314 138 +1242 4 2 6 10 75 74 262 82 +1243 4 2 6 10 223 233 225 72 +1244 4 2 6 10 97 96 264 84 +1245 4 2 6 10 120 355 352 336 +1246 4 2 6 10 338 327 146 334 +1247 4 2 6 10 223 71 61 72 +1248 4 2 6 10 156 332 149 153 +1249 4 2 6 10 271 133 257 290 +1250 4 2 6 10 338 135 150 146 +1251 4 2 6 10 225 71 72 88 +1252 4 2 6 10 156 333 153 163 +1253 4 2 6 10 156 332 153 333 +1254 4 2 6 10 118 319 123 311 +1255 4 2 6 10 289 119 128 127 +1256 4 2 6 10 25 9 392 406 +1257 4 2 6 10 113 288 117 285 +1258 4 2 6 10 52 57 61 213 +1259 4 2 6 10 350 347 136 337 +1260 4 2 6 10 83 254 73 84 +1261 4 2 6 10 256 242 100 111 +1262 4 2 6 10 54 235 221 226 +1263 4 2 6 10 213 57 61 215 +1264 4 2 6 10 143 268 275 122 +1265 4 2 6 10 300 289 287 128 +1266 4 2 6 10 242 237 111 248 +1267 4 2 6 10 170 158 335 165 +1268 4 2 6 10 405 147 22 403 +1269 4 2 6 10 229 250 231 148 +1270 4 2 6 10 23 56 416 49 +1271 4 2 6 10 114 136 347 337 +1272 4 2 6 10 158 322 315 291 +1273 4 2 6 10 190 378 194 188 +1274 4 2 6 10 97 277 104 276 +1275 4 2 6 10 82 93 282 95 +1276 4 2 6 10 263 278 275 126 +1277 4 2 6 10 316 110 326 304 +1278 4 2 6 10 268 256 275 122 +1279 4 2 6 10 310 151 155 141 +1280 4 2 6 10 416 23 6 383 +1281 4 2 6 10 75 247 73 254 +1282 4 2 6 10 319 309 137 320 +1283 4 2 6 10 261 75 83 254 +1284 4 2 6 10 35 41 217 205 +1285 4 2 6 10 256 263 275 122 +1286 4 2 6 10 19 194 399 417 +1287 4 2 6 10 263 126 275 122 +1288 4 2 6 10 319 137 309 130 +1289 4 2 6 10 90 331 318 78 +1290 4 2 6 10 180 353 357 172 +1291 4 2 6 10 218 212 87 208 +1292 4 2 6 10 81 239 100 92 +1293 4 2 6 10 212 218 87 229 +1294 4 2 6 10 209 57 210 215 +1295 4 2 6 10 119 121 287 128 +1296 4 2 6 10 236 257 133 248 +1297 4 2 6 10 157 250 148 174 +1298 4 2 6 10 266 168 231 148 +1299 4 2 6 10 110 316 337 331 +1300 4 2 6 10 107 256 122 263 +1301 4 2 6 10 57 219 215 209 +1302 4 2 6 10 53 52 213 207 +1303 4 2 6 10 136 339 350 337 +1304 4 2 6 10 54 214 226 221 +1305 4 2 6 10 69 68 234 59 +1306 4 2 6 10 289 119 287 128 +1307 4 2 6 10 123 112 326 131 +1308 4 2 6 10 90 318 62 78 +1309 4 2 6 10 83 264 254 84 +1310 4 2 6 10 110 316 331 94 +1311 4 2 6 10 142 292 158 143 +1312 4 2 6 10 106 269 270 108 +1313 4 2 6 10 191 371 370 356 +1314 4 2 6 10 279 288 287 121 +1315 4 2 6 10 250 157 245 271 +1316 4 2 6 10 65 212 219 209 +1317 4 2 6 10 114 110 331 94 +1318 4 2 6 10 301 127 139 293 +1319 4 2 6 10 75 247 66 73 +1320 4 2 6 10 361 184 359 369 +1321 4 2 6 10 80 91 251 89 +1322 4 2 6 10 200 43 38 40 +1323 4 2 6 10 119 270 279 108 +1324 4 2 6 10 300 289 128 301 +1325 4 2 6 10 277 295 285 104 +1326 4 2 6 10 91 96 267 102 +1327 4 2 6 10 255 96 267 91 +1328 4 2 6 10 235 64 66 238 +1329 4 2 6 10 249 79 239 240 +1330 4 2 6 10 119 279 287 121 +1331 4 2 6 10 273 278 263 116 +1332 4 2 6 10 302 318 331 78 +1333 4 2 6 10 83 75 73 254 +1334 4 2 6 10 90 331 78 114 +1335 4 2 6 10 316 302 331 94 +1336 4 2 6 10 365 362 375 159 +1337 4 2 6 10 94 302 331 78 +1338 4 2 6 10 289 283 119 127 +1339 4 2 6 10 114 94 331 78 +1340 4 2 6 10 278 283 127 273 +1341 4 2 6 10 107 263 126 116 +1342 4 2 6 10 300 134 307 301 +1343 4 2 6 10 288 113 117 124 +1344 4 2 6 10 127 141 139 293 +1345 4 2 6 10 294 305 141 293 +1346 4 2 6 10 140 312 132 138 +1347 4 2 6 10 409 417 1 193 +1348 4 2 6 10 85 316 110 94 +1349 4 2 6 10 338 327 328 135 +1350 4 2 6 10 339 328 326 131 +1351 4 2 6 10 233 88 242 237 +1352 4 2 6 10 123 112 105 311 +1353 4 2 6 10 110 316 326 337 +1354 4 2 6 10 190 376 188 181 +1355 4 2 6 10 211 206 216 42 +1356 4 2 6 10 353 176 167 172 +1357 4 2 6 10 191 192 363 187 +1358 4 2 6 10 139 313 151 134 +1359 4 2 6 10 173 170 335 165 +1360 4 2 6 10 20 390 399 1 +1361 4 2 6 10 388 31 394 32 +1362 4 2 6 10 361 184 176 359 +1363 4 2 6 10 157 174 324 298 +1364 4 2 6 10 180 353 359 364 +1365 4 2 6 10 157 290 324 175 +1366 4 2 6 10 318 274 62 78 +1367 4 2 6 10 223 71 225 215 +1368 4 2 6 10 392 9 26 10 +1369 4 2 6 10 338 152 150 339 +1370 4 2 6 10 13 29 28 395 +1371 4 2 6 10 284 274 62 318 +1372 4 2 6 10 38 398 27 414 +1373 4 2 6 10 305 301 139 293 +1374 4 2 6 10 151 305 139 141 +1375 4 2 6 10 353 167 176 351 +1376 4 2 6 10 338 152 348 150 +1377 4 2 6 10 377 19 417 378 +1378 4 2 6 10 357 353 348 172 +1379 4 2 6 10 154 169 144 358 +1380 4 2 6 10 354 185 192 186 +1381 4 2 6 10 18 409 371 377 +1382 4 2 6 10 344 349 170 335 +1383 4 2 6 10 268 142 122 143 +1384 4 2 6 10 178 349 344 356 +1385 4 2 6 10 151 313 145 134 +1386 4 2 6 10 403 4 21 22 +1387 4 2 6 10 71 223 225 72 +1388 4 2 6 10 278 294 275 126 +1389 4 2 6 10 402 389 32 1 +1390 4 2 6 10 242 239 253 100 +1391 4 2 6 10 217 48 220 241 +1392 4 2 6 10 181 368 177 166 +1393 4 2 6 10 184 356 370 361 +1394 4 2 6 10 395 29 109 410 +1395 4 2 6 10 380 407 188 2 +1396 4 2 6 10 229 87 227 115 +1397 4 2 6 10 242 88 100 111 +1398 4 2 6 10 239 233 81 242 +1399 4 2 6 10 70 58 274 78 +1400 4 2 6 10 8 7 400 381 +1401 4 2 6 10 174 393 266 168 +1402 4 2 6 10 20 3 21 408 +1403 4 2 6 10 376 190 367 181 +1404 4 2 6 10 9 196 392 198 +1405 4 2 6 10 396 382 7 6 +1406 4 2 6 10 223 213 224 61 +1407 4 2 6 10 243 73 69 238 +1408 4 2 6 10 162 322 290 175 +1409 4 2 6 10 169 181 166 368 +1410 4 2 6 10 268 142 143 292 +1411 4 2 6 10 357 180 171 182 +1412 4 2 6 10 59 234 226 224 +1413 4 2 6 10 289 283 281 119 +1414 4 2 6 10 225 98 237 236 +1415 4 2 6 10 182 360 357 367 +1416 4 2 6 10 335 158 315 165 +1417 4 2 6 10 98 115 133 236 +1418 4 2 6 10 235 246 66 55 +1419 4 2 6 10 271 133 290 157 +1420 4 2 6 10 403 3 408 21 +1421 4 2 6 10 346 174 185 330 +1422 4 2 6 10 83 97 95 276 +1423 4 2 6 10 277 295 104 276 +1424 4 2 6 10 184 370 356 191 +1425 4 2 6 10 264 261 83 254 +1426 4 2 6 10 284 317 45 252 +1427 4 2 6 10 408 2 20 3 +1428 4 2 6 10 195 370 377 193 +1429 4 2 6 10 264 261 276 83 +1430 4 2 6 10 106 269 99 258 +1431 4 2 6 10 106 273 260 116 +1432 4 2 6 10 113 102 280 103 +1433 4 2 6 10 278 294 127 293 +1434 4 2 6 10 288 299 303 124 +1435 4 2 6 10 75 261 247 254 +1436 4 2 6 10 195 370 193 191 +1437 4 2 6 10 108 102 99 269 +1438 4 2 6 10 251 258 99 259 +1439 4 2 6 10 149 334 146 323 +1440 4 2 6 10 180 357 171 172 +1441 4 2 6 10 327 135 319 328 +1442 4 2 6 10 312 306 303 132 +1443 4 2 6 10 145 313 151 321 +1444 4 2 6 10 299 124 117 125 +1445 4 2 6 10 299 288 117 124 +1446 4 2 6 10 141 310 143 155 +1447 4 2 6 10 108 113 280 279 +1448 4 2 6 10 256 242 253 100 +1449 4 2 6 10 108 279 280 269 +1450 4 2 6 10 102 108 280 269 +1451 4 2 6 10 113 288 285 280 +1452 4 2 6 10 175 344 346 179 +1453 4 2 6 10 322 158 335 170 +1454 4 2 6 10 178 349 170 344 +1455 4 2 6 10 264 255 254 84 +1456 4 2 6 10 169 360 368 358 +1457 4 2 6 10 365 366 159 372 +1458 4 2 6 10 296 104 95 105 +1459 4 2 6 10 160 343 353 348 +1460 4 2 6 10 103 277 280 285 +1461 4 2 6 10 41 206 205 37 +1462 4 2 6 10 267 277 280 103 +1463 4 2 6 10 245 229 227 115 +1464 4 2 6 10 162 158 142 291 +1465 4 2 6 10 268 257 142 291 +1466 4 2 6 10 271 133 157 245 +1467 4 2 6 10 35 217 220 205 +1468 4 2 6 10 291 133 142 162 +1469 4 2 6 10 291 133 162 290 +1470 4 2 6 10 415 222 204 33 +1471 4 2 6 10 415 222 33 36 +1472 4 2 6 10 112 123 326 311 +1473 4 2 6 10 178 173 170 349 +1474 4 2 6 10 46 200 43 207 +1475 4 2 6 10 207 200 43 202 +1476 4 2 6 10 159 403 183 147 +1477 4 2 6 10 317 86 340 352 +1478 4 2 6 10 97 104 95 276 +1479 4 2 6 10 243 69 73 80 +1480 4 2 6 10 213 57 215 210 +1481 4 2 6 10 24 415 33 36 +1482 4 2 6 10 159 177 183 375 +1483 4 2 6 10 81 233 72 88 +1484 4 2 6 10 408 177 188 379 +1485 4 2 6 10 46 211 207 53 +1486 4 2 6 10 46 200 207 211 +1487 4 2 6 10 115 98 77 227 +1488 4 2 6 10 53 59 214 224 +1489 4 2 6 10 59 53 214 54 +1490 4 2 6 10 52 46 43 207 +1491 4 2 6 10 35 41 205 37 +1492 4 2 6 10 408 2 3 379 +1493 4 2 6 10 283 301 293 127 +1494 4 2 6 10 12 395 391 208 +1495 4 2 6 10 294 141 127 293 +1496 4 2 6 10 409 377 417 193 +1497 4 2 6 10 301 134 307 313 +1498 4 2 6 10 139 313 134 301 +1499 4 2 6 10 134 301 128 139 +1500 4 2 6 10 79 69 234 240 +1501 4 2 6 10 69 79 80 240 +1502 4 2 6 10 279 108 270 269 +1503 4 2 6 10 139 313 301 305 +1504 4 2 6 10 403 3 21 4 +1505 4 2 6 10 113 103 280 285 +1506 4 2 6 10 71 219 225 215 +1507 4 2 6 10 141 294 126 143 +1508 4 2 6 10 134 300 128 301 +1509 4 2 6 10 219 71 57 215 +1510 4 2 6 10 107 263 260 253 +1511 4 2 6 10 219 57 71 77 +1512 4 2 6 10 8 33 415 204 +1513 4 2 6 10 143 158 155 315 +1514 4 2 6 10 64 59 226 54 +1515 4 2 6 10 47 228 216 230 +1516 4 2 6 10 106 269 258 270 +1517 4 2 6 10 64 235 226 238 +1518 4 2 6 10 333 163 341 329 +1519 4 2 6 10 349 173 341 351 +1520 4 2 6 10 329 163 341 165 +1521 4 2 6 10 335 329 341 165 +1522 4 2 6 10 211 42 221 54 +1523 4 2 6 10 101 253 260 249 +1524 4 2 6 10 179 185 346 175 +1525 4 2 6 10 185 179 346 187 +1526 4 2 6 10 179 344 346 356 +1527 4 2 6 10 336 284 67 62 +1528 4 2 6 10 42 47 221 54 +1529 4 2 6 10 90 336 67 62 +1530 4 2 6 10 356 191 363 187 +1531 4 2 6 10 47 230 221 55 +1532 4 2 6 10 103 277 285 104 +1533 4 2 6 10 371 191 363 356 +1534 4 2 6 10 296 295 104 105 +1535 4 2 6 10 277 97 104 103 +1536 4 2 6 10 185 192 187 363 +1537 4 2 6 10 262 93 82 74 +1538 4 2 6 10 279 119 287 281 +1539 4 2 6 10 137 312 309 132 +1540 4 2 6 10 415 24 33 400 +1541 4 2 6 10 354 185 363 192 +1542 4 2 6 10 346 185 187 363 +1543 4 2 6 10 198 35 204 205 +1544 4 2 6 10 378 190 193 373 +1545 4 2 6 10 317 49 67 45 +1546 4 2 6 10 66 247 238 73 +1547 4 2 6 10 48 284 62 45 +1548 4 2 6 10 217 48 39 220 +1549 4 2 6 10 54 211 214 221 +1550 4 2 6 10 228 217 241 48 +1551 4 2 6 10 376 181 368 374 +1552 4 2 6 10 326 136 131 110 +1553 4 2 6 10 311 123 326 328 +1554 4 2 6 10 80 240 251 243 +1555 4 2 6 10 69 80 243 240 +1556 4 2 6 10 96 255 264 84 +1557 4 2 6 10 316 85 302 94 +1558 4 2 6 10 408 2 379 188 +1559 4 2 6 10 403 3 4 375 +1560 4 2 6 10 368 181 177 374 +1561 4 2 6 10 360 169 368 367 +1562 4 2 6 10 90 331 114 345 +1563 4 2 6 10 48 244 274 241 +1564 4 2 6 10 198 35 205 37 +1565 4 2 6 10 368 366 177 166 +1566 4 2 6 10 366 368 177 374 +1567 4 2 6 10 372 365 375 159 +1568 4 2 6 10 380 407 2 19 +1569 4 2 6 10 326 136 110 337 +1570 4 2 6 10 318 274 78 302 +1571 4 2 6 10 198 35 37 33 +1572 4 2 6 10 357 164 161 171 +1573 4 2 6 10 131 112 326 110 +1574 4 2 6 10 70 302 94 78 +1575 4 2 6 10 8 415 33 400 +1576 4 2 6 10 198 35 33 204 +1577 4 2 6 10 358 355 166 144 +1578 4 2 6 10 178 179 187 356 +1579 4 2 6 10 417 18 377 409 +1580 4 2 6 10 88 98 111 237 +1581 4 2 6 10 340 86 49 56 +1582 4 2 6 10 366 372 374 177 +1583 4 2 6 10 413 5 384 383 +1584 4 2 6 10 398 10 27 11 +1585 4 2 6 10 372 366 159 177 +1586 4 2 6 10 398 197 10 11 +1587 4 2 6 10 417 18 409 1 +1588 4 2 6 10 255 91 267 259 +1589 4 2 6 10 366 355 159 166 +1590 4 2 6 10 182 360 169 171 +1591 4 2 6 10 255 96 91 84 +1592 4 2 6 10 316 85 110 304 +1593 4 2 6 10 158 165 155 315 +1594 4 2 6 10 34 37 33 198 +1595 4 2 6 10 354 411 394 16 +1596 4 2 6 10 189 180 369 364 +1597 4 2 6 10 378 417 193 194 +1598 4 2 6 10 174 393 168 186 +1599 4 2 6 10 108 119 270 106 +1600 4 2 6 10 396 415 222 7 +1601 4 2 6 10 196 201 34 198 +1602 4 2 6 10 241 48 220 252 +1603 4 2 6 10 8 25 400 406 +1604 4 2 6 10 19 390 1 399 +1605 4 2 6 10 193 417 1 194 +1606 4 2 6 10 412 371 363 17 +1607 4 2 6 10 1 19 399 417 +1608 4 2 6 10 106 273 116 119 +1609 4 2 6 10 189 377 370 193 +1610 4 2 6 10 201 206 42 37 +1611 4 2 6 10 200 196 38 197 +1612 4 2 6 10 378 376 380 188 +1613 4 2 6 10 190 376 378 188 +1614 4 2 6 10 119 289 287 281 +1615 4 2 6 10 41 217 228 48 +1616 4 2 6 10 230 47 50 55 +1617 4 2 6 10 41 228 50 48 +1618 4 2 6 10 63 230 50 55 +1619 4 2 6 10 417 18 19 377 +1620 4 2 6 10 119 273 281 270 +1621 4 2 6 10 414 12 391 199 +1622 4 2 6 10 8 33 204 198 +1623 4 2 6 10 64 69 226 59 +1624 4 2 6 10 243 254 73 238 +1625 4 2 6 10 245 157 115 133 +1626 4 2 6 10 247 235 66 238 +1627 4 2 6 10 119 283 281 273 +1628 4 2 6 10 242 256 248 111 +1629 4 2 6 10 114 136 337 110 +1630 4 2 6 10 63 246 230 55 +1631 4 2 6 10 246 235 230 55 +1632 4 2 6 10 149 160 146 334 +1633 4 2 6 10 162 322 170 158 +1634 4 2 6 10 158 143 292 315 +1635 4 2 6 10 48 228 244 241 +1636 4 2 6 10 48 244 228 50 +1637 4 2 6 10 180 189 182 364 +1638 4 2 6 10 333 156 342 163 +1639 4 2 6 10 373 189 369 364 +1640 4 2 6 10 239 92 253 100 +1641 4 2 6 10 189 373 182 364 +1642 4 2 6 10 256 268 111 122 +1643 4 2 6 10 162 322 291 290 +1644 4 2 6 10 142 268 291 292 +1645 4 2 6 10 191 189 370 193 +1646 4 2 6 10 101 92 253 249 +1647 4 2 6 10 271 133 245 257 +1648 4 2 6 10 251 258 89 99 +1649 4 2 6 10 258 101 89 99 +1650 4 2 6 10 159 403 147 362 +1651 4 2 6 10 91 251 89 99 +1652 4 2 6 10 98 236 133 248 +1653 4 2 6 10 267 102 280 269 +1654 4 2 6 10 143 310 292 315 +1655 4 2 6 10 118 299 117 125 +1656 4 2 6 10 416 222 272 6 +1657 4 2 6 10 163 151 155 329 +1658 4 2 6 10 136 339 131 152 +1659 4 2 6 10 45 284 62 67 +1660 4 2 6 10 368 366 166 358 +1661 4 2 6 10 212 229 87 227 +1662 4 2 6 10 182 360 171 357 +1663 4 2 6 10 311 118 308 295 +1664 4 2 6 10 140 312 137 132 +1665 4 2 6 10 219 212 77 227 +1666 4 2 6 10 65 212 77 219 +1667 4 2 6 10 328 135 131 150 +1668 4 2 6 10 311 112 105 304 +1669 4 2 6 10 167 173 176 351 +1670 4 2 6 10 86 365 362 340 +1671 4 2 6 10 212 65 77 87 +1672 4 2 6 10 355 345 120 144 +1673 4 2 6 10 173 349 341 335 +1674 4 2 6 10 12 391 28 27 +1675 4 2 6 10 4 405 5 22 +1676 4 2 6 10 377 189 373 193 +1677 4 2 6 10 261 82 95 83 +1678 4 2 6 10 245 115 227 236 +1679 4 2 6 10 115 87 227 77 +1680 4 2 6 10 268 256 111 248 +1681 4 2 6 10 92 107 253 100 +1682 4 2 6 10 329 310 155 315 +1683 4 2 6 10 239 79 81 232 +1684 4 2 6 10 347 154 144 358 +1685 4 2 6 10 268 257 248 142 +1686 4 2 6 10 377 189 370 369 +1687 4 2 6 10 367 190 373 182 +1688 4 2 6 10 114 345 347 144 +1689 4 2 6 10 68 223 232 224 +1690 4 2 6 10 160 164 348 172 +1691 4 2 6 10 180 176 359 353 +1692 4 2 6 10 367 169 181 182 +1693 4 2 6 10 189 377 373 369 +1694 4 2 6 10 195 370 191 371 +1695 4 2 6 10 184 361 370 369 +1696 4 2 6 10 136 152 154 350 +1697 4 2 6 10 98 71 225 88 +1698 4 2 6 10 394 363 17 412 +1699 4 2 6 10 294 143 310 292 +1700 4 2 6 10 178 179 356 344 +1701 4 2 6 10 249 79 240 89 +1702 4 2 6 10 258 101 260 249 +1703 4 2 6 10 167 351 353 342 +1704 4 2 6 10 269 102 99 259 +1705 4 2 6 10 267 102 269 259 +1706 4 2 6 10 91 251 99 259 +1707 4 2 6 10 59 224 226 214 +1708 4 2 6 10 294 310 143 141 +1709 4 2 6 10 164 160 348 150 +1710 4 2 6 10 81 68 72 232 +1711 4 2 6 10 70 85 94 302 +1712 4 2 6 10 416 23 36 396 +1713 4 2 6 10 234 68 224 59 +1714 4 2 6 10 228 47 50 230 +1715 4 2 6 10 228 41 47 216 +1716 4 2 6 10 230 235 221 55 +1717 4 2 6 10 362 403 4 375 +1718 4 2 6 10 223 68 232 72 +1719 4 2 6 10 54 59 226 214 +1720 4 2 6 10 291 133 290 257 +1721 4 2 6 10 52 207 210 213 +1722 4 2 6 10 125 130 308 309 +1723 4 2 6 10 278 273 127 116 +1724 4 2 6 10 63 244 230 246 +1725 4 2 6 10 137 323 320 312 +1726 4 2 6 10 294 278 127 126 +1727 4 2 6 10 70 58 265 274 +1728 4 2 6 10 54 235 226 64 +1729 4 2 6 10 283 289 301 127 +1730 4 2 6 10 54 47 221 55 +1731 4 2 6 10 256 100 122 111 +1732 4 2 6 10 137 323 312 140 +1733 4 2 6 10 273 119 127 116 +1734 4 2 6 10 141 305 139 293 +1735 4 2 6 10 53 52 61 213 +1736 4 2 6 10 237 98 111 248 +1737 4 2 6 10 212 65 203 209 +1738 4 2 6 10 207 202 43 210 +1739 4 2 6 10 129 124 303 132 +1740 4 2 6 10 306 129 303 132 +1741 4 2 6 10 118 311 105 295 +1742 4 2 6 10 143 294 275 292 +1743 4 2 6 10 250 157 271 298 +1744 4 2 6 10 322 162 291 158 +1745 4 2 6 10 81 233 88 242 +1746 4 2 6 10 52 207 43 210 +1747 4 2 6 10 221 42 216 47 +1748 4 2 6 10 101 258 89 249 +1749 4 2 6 10 107 256 253 100 +1750 4 2 6 10 333 163 342 341 +1751 4 2 6 10 258 269 99 259 +1752 4 2 6 10 118 123 105 311 +1753 4 2 6 10 129 124 121 297 +1754 4 2 6 10 300 129 297 306 +1755 4 2 6 10 75 261 83 82 +1756 4 2 6 10 157 250 115 148 +1757 4 2 6 10 185 174 186 330 +1758 4 2 6 10 266 250 298 174 +1759 4 2 6 10 185 354 346 330 +1760 4 2 6 10 346 174 330 324 +1761 4 2 6 10 321 145 313 325 +1762 4 2 6 10 152 164 348 150 +1763 4 2 6 10 168 404 401 393 +1764 4 2 6 10 151 310 155 329 +1765 4 2 6 10 295 118 104 105 +1766 4 2 6 10 305 151 313 321 +1767 4 2 6 10 134 129 300 307 +1768 4 2 6 10 300 129 306 307 +1769 4 2 6 10 338 135 328 150 +1770 4 2 6 10 312 306 132 138 +1771 4 2 6 10 312 140 314 138 +1772 4 2 6 10 327 146 334 323 +1773 4 2 6 10 118 319 311 308 +1774 4 2 6 10 135 137 146 327 +1775 4 2 6 10 277 97 264 276 +1776 4 2 6 10 132 125 303 309 +1777 4 2 6 10 307 134 138 313 +1778 4 2 6 10 306 129 138 307 +1779 4 2 6 10 180 176 353 172 +1780 4 2 6 10 321 333 153 325 +1781 4 2 6 10 165 329 155 315 +1782 4 2 6 10 129 134 138 307 +1783 4 2 6 10 338 343 160 348 +1784 4 2 6 10 90 114 144 345 +1785 4 2 6 10 322 158 315 335 +1786 4 2 6 10 163 329 155 165 +1787 4 2 6 10 135 137 319 130 +1788 4 2 6 10 136 339 152 350 +1789 4 2 6 10 350 360 154 347 +1790 4 2 6 10 158 291 315 292 +1791 4 2 6 10 136 114 347 154 +1792 4 2 6 10 164 357 348 172 +1793 4 2 6 10 338 152 339 350 +1794 4 2 6 10 178 184 361 356 +1795 4 2 6 10 114 110 337 331 +1796 4 2 6 10 333 332 153 325 +1797 4 2 6 10 307 306 314 138 +1798 4 2 6 10 319 137 135 327 +1799 4 2 6 10 184 189 180 369 +1800 4 2 6 10 206 41 217 216 +1801 4 2 6 10 284 317 67 45 +1802 4 2 6 10 234 68 232 224 +1803 4 2 6 10 339 152 150 131 +1804 4 2 6 10 163 167 342 341 +1805 4 2 6 10 338 152 350 348 +1806 4 2 6 10 33 25 34 406 +1807 4 2 6 10 320 137 319 327 +1808 4 2 6 10 199 414 38 44 +1809 4 2 6 10 178 349 361 176 +1810 4 2 6 10 184 178 361 176 +1811 4 2 6 10 184 178 187 356 +1812 4 2 6 10 90 345 144 120 +1813 4 2 6 10 377 378 193 373 +1814 4 2 6 10 106 273 119 270 +1815 4 2 6 10 244 63 50 58 +1816 4 2 6 10 185 354 363 346 +1817 4 2 6 10 234 79 240 232 +1818 4 2 6 10 30 168 401 393 +1819 4 2 6 10 68 79 234 232 +1820 4 2 6 10 344 175 170 179 +1821 4 2 6 10 329 335 315 165 +1822 4 2 6 10 33 35 39 204 +1823 4 2 6 10 378 19 417 194 +1824 4 2 6 10 407 390 20 2 +1825 4 2 6 10 190 378 193 194 +1826 4 2 6 10 345 355 358 144 +1827 4 2 6 10 407 378 188 194 +1828 4 2 6 10 169 358 166 144 +1829 4 2 6 10 402 18 389 1 +1830 4 2 6 10 7 222 204 415 +1831 4 2 6 10 85 93 110 304 +1832 4 2 6 10 12 203 391 199 +1833 4 2 6 10 207 53 214 213 +1834 4 2 6 10 355 120 166 144 +1835 4 2 6 10 9 25 392 26 +1836 4 2 6 10 392 26 398 10 +1837 4 2 6 10 101 107 260 253 +1838 4 2 6 10 263 273 116 260 +1839 4 2 6 10 413 384 22 23 +1840 4 2 6 10 51 43 38 202 +1841 4 2 6 10 38 44 51 199 +1842 4 2 6 10 43 57 210 51 +1843 4 2 6 10 210 202 43 51 +1844 4 2 6 10 87 65 60 208 +1845 4 2 6 10 109 87 60 218 +1846 4 2 6 10 395 109 60 218 +1847 4 2 6 10 51 203 209 199 +1848 4 2 6 10 395 60 208 218 +1849 4 2 6 10 218 208 87 60 +1850 4 2 6 10 167 172 156 353 +1851 4 2 6 10 342 167 156 353 +1852 4 2 6 10 172 160 156 353 +1853 4 2 6 10 202 199 197 38 +1854 4 2 6 10 38 51 202 199 +1855 4 2 6 10 44 28 60 391 +1856 4 2 6 10 60 203 44 391 +1857 4 2 6 10 249 79 89 92 +1858 4 2 6 10 249 79 92 239 +1859 4 2 6 10 156 334 343 160 +1860 4 2 6 10 156 334 160 149 +1861 4 2 6 10 156 334 149 332 +1862 4 2 6 10 156 334 332 343 +1863 4 2 6 10 252 39 48 220 +1864 4 2 6 10 48 39 252 45 +1865 4 2 6 10 330 16 411 354 +1866 4 2 6 10 411 15 387 16 +1867 4 2 6 10 85 265 302 70 +1868 4 2 6 10 302 265 85 286 +1869 4 2 6 10 54 235 64 55 +1870 4 2 6 10 54 235 55 221 +1871 4 2 6 10 62 336 318 90 +1872 4 2 6 10 62 318 336 284 +1873 4 2 6 10 314 145 138 149 +1874 4 2 6 10 138 314 149 140 +1875 4 2 6 10 314 149 323 325 +1876 4 2 6 10 314 323 149 140 +1877 4 2 6 10 300 121 129 128 +1878 4 2 6 10 300 121 128 287 +1879 4 2 6 10 259 102 91 267 +1880 4 2 6 10 259 91 102 99 +1881 4 2 6 10 137 327 323 146 +1882 4 2 6 10 137 323 327 320 +1883 4 2 6 10 252 48 284 241 +1884 4 2 6 10 252 284 48 45 +1885 4 2 6 10 42 216 37 206 +1886 4 2 6 10 42 37 216 47 +1887 4 2 6 10 37 216 41 206 +1888 4 2 6 10 37 41 216 47 +1889 4 2 6 10 372 380 177 379 +1890 4 2 6 10 177 380 372 374 +1891 4 2 6 10 380 188 177 379 +1892 4 2 6 10 259 243 91 251 +1893 4 2 6 10 259 91 243 255 +1894 4 2 6 10 91 243 80 251 +1895 4 2 6 10 161 350 357 360 +1896 4 2 6 10 154 161 350 152 +1897 4 2 6 10 154 350 161 360 +1898 4 2 6 10 365 86 120 352 +1899 4 2 6 10 365 120 86 159 +1900 4 2 6 10 355 365 120 352 +1901 4 2 6 10 355 120 365 159 +1902 4 2 6 10 227 98 219 236 +1903 4 2 6 10 227 219 98 77 +1904 4 2 6 10 48 284 274 62 +1905 4 2 6 10 48 274 284 241 +1906 4 2 6 10 58 48 274 62 +1907 4 2 6 10 48 244 50 58 +1908 4 2 6 10 379 408 375 3 +1909 4 2 6 10 408 177 379 375 +1910 4 2 6 10 202 38 200 43 +1911 4 2 6 10 202 200 38 197 +1912 4 2 6 10 199 414 11 197 +1913 4 2 6 10 414 12 199 11 +1914 4 2 6 10 156 353 343 342 +1915 4 2 6 10 343 353 156 160 +1916 4 2 6 10 210 51 209 202 +1917 4 2 6 10 51 199 209 202 +1918 4 2 6 10 51 203 199 44 +1919 4 2 6 10 51 203 44 65 +1920 4 2 6 10 51 203 65 209 +1921 4 2 6 10 60 203 391 208 +1922 4 2 6 10 203 391 208 12 +1923 4 2 6 10 60 28 395 391 +1924 4 2 6 10 60 395 28 76 +1925 4 2 6 10 395 109 218 410 +1926 4 2 6 10 12 395 208 13 +1927 4 2 6 10 377 417 193 378 +1928 4 2 6 10 416 222 396 36 +1929 4 2 6 10 60 203 208 65 +1930 4 2 6 10 60 203 65 44 +1931 4 2 6 10 348 161 152 350 +1932 4 2 6 10 348 161 350 357 +1933 4 2 6 10 348 161 357 164 +1934 4 2 6 10 348 161 164 152 +1935 4 2 6 10 51 57 209 65 +1936 4 2 6 10 209 57 51 210 +1937 4 2 6 10 177 380 181 188 +1938 4 2 6 10 181 380 177 374 +1939 4 2 6 10 380 376 181 188 +1940 4 2 6 10 181 376 380 374 +1941 4 2 6 10 91 243 84 80 +1942 4 2 6 10 84 243 91 255 +1943 4 2 6 10 84 254 243 255 +1944 4 2 6 10 243 84 73 254 +1945 4 2 6 10 73 84 243 80 +1946 4 2 6 10 383 416 413 397 +1947 4 2 6 10 25 392 34 406 +1948 4 2 6 10 392 196 34 198 +1949 4 2 6 10 392 25 34 26 +1950 4 2 6 10 411 15 16 330 +1951 4 2 6 10 397 416 6 383 +1952 4 2 6 10 411 15 330 393 +1953 4 2 6 10 397 49 416 56 +1954 4 2 6 10 17 394 16 354 +1955 4 2 6 10 412 394 32 17 +1956 4 2 6 10 394 31 192 32 +1957 4 2 6 10 403 147 21 183 +1958 4 2 6 10 395 109 29 76 +1959 4 2 6 10 147 403 21 22 +1960 4 2 6 10 199 38 414 197 +1961 4 2 6 10 405 147 403 362 +1962 4 2 6 10 12 395 13 28 +1963 4 2 6 10 395 29 28 76 +1964 4 2 6 10 395 60 391 208 +1965 4 2 6 10 222 415 396 36 +1966 4 2 6 10 272 416 49 36 +1967 4 2 6 10 222 396 7 6 +1968 4 2 6 10 397 49 56 340 +1969 4 2 6 10 340 272 6 397 +1970 4 2 6 10 38 197 398 414 +1971 4 2 6 10 416 222 36 272 +1972 4 2 6 10 38 26 27 398 +1973 4 2 6 10 197 196 38 398 +1974 4 2 6 10 414 398 27 11 +1975 4 2 6 10 414 197 398 11 +1976 4 2 6 10 392 26 38 398 +1977 4 2 6 10 407 390 2 19 +1978 4 2 6 10 20 399 194 1 +1979 4 2 6 10 194 1 399 417 +1980 4 2 6 10 407 390 19 399 +1981 4 2 6 10 24 25 33 400 +1982 4 2 6 10 33 8 400 406 +1983 4 2 6 10 7 24 415 400 +1984 4 2 6 10 8 7 415 400 +1985 4 2 6 10 30 393 401 386 +1986 4 2 6 10 404 14 401 386 +1987 4 2 6 10 401 410 404 168 +1988 4 2 6 10 168 29 30 401 +1989 4 2 6 10 32 17 402 412 +1990 4 2 6 10 409 18 17 402 +1991 4 2 6 10 195 402 32 1 +1992 4 2 6 10 409 18 402 1 +1993 4 2 6 10 401 410 168 29 +1994 4 2 6 10 168 266 231 404 +1995 4 2 6 10 410 168 29 109 +1996 4 2 6 10 393 404 15 266 +1997 4 2 6 10 393 15 404 386 +1998 4 2 6 10 393 404 401 386 +1999 4 2 6 10 401 410 29 14 +2000 4 2 6 10 44 38 27 414 +2001 4 2 6 10 196 392 34 38 +2002 4 2 6 10 196 9 392 10 +2003 4 2 6 10 196 392 398 10 +2004 4 2 6 10 413 405 56 22 +2005 4 2 6 10 196 392 38 398 +2006 4 2 6 10 413 5 383 397 +2007 4 2 6 10 405 147 362 56 +2008 4 2 6 10 340 397 405 56 +2009 4 2 6 10 340 362 56 405 +2010 4 2 6 10 405 147 56 22 +2011 4 2 6 10 383 23 413 416 +2012 4 2 6 10 405 397 413 56 +2013 4 2 6 10 168 404 393 266 +2014 4 2 6 10 411 192 394 31 +2015 4 2 6 10 411 192 31 186 +2016 4 2 6 10 174 393 186 330 +2017 4 2 6 10 394 363 412 192 +2018 4 2 6 10 29 410 395 13 +2019 4 2 6 10 396 23 36 24 +2020 4 2 6 10 168 393 30 186 +2021 4 2 6 10 395 109 76 60 +2022 4 2 6 10 413 5 397 405 +2023 4 2 6 10 8 406 198 9 +2024 4 2 6 10 406 9 392 198 +2025 4 2 6 10 8 406 33 198 +2026 4 2 6 10 33 406 34 198 +2027 4 2 6 10 406 392 34 198 +2028 4 2 6 10 20 407 188 194 +2029 4 2 6 10 407 378 194 19 +2030 4 2 6 10 407 378 19 380 +2031 4 2 6 10 407 20 399 194 +2032 4 2 6 10 19 407 399 194 +2033 4 2 6 10 414 12 11 27 +2034 4 2 6 10 391 414 199 44 +2035 4 2 6 10 391 44 28 27 +2036 4 2 6 10 391 203 44 199 +2037 4 2 6 10 195 32 402 412 +2038 4 2 6 10 218 410 231 13 +2039 4 2 6 10 403 408 375 183 +2040 4 2 6 10 20 408 21 183 +2041 4 2 6 10 403 408 183 21 +2042 4 2 6 10 408 20 188 183 +2043 4 2 6 10 408 177 375 183 +2044 4 2 6 10 408 177 183 188 +2045 4 2 6 10 409 195 17 371 +2046 4 2 6 10 409 195 377 193 +2047 4 2 6 10 409 195 371 377 +2048 4 2 6 10 195 409 1 193 +2049 4 2 6 10 195 409 17 402 +2050 4 2 6 10 195 409 402 1 +2051 4 2 6 10 2 20 407 408 +2052 4 2 6 10 25 33 400 406 +2053 4 2 6 10 410 168 109 231 +2054 4 2 6 10 395 410 218 13 +2055 4 2 6 10 394 363 354 17 +2056 4 2 6 10 410 168 231 404 +2057 4 2 6 10 411 192 186 354 +2058 4 2 6 10 231 410 218 109 +2059 4 2 6 10 411 192 354 394 +2060 4 2 6 10 330 411 186 354 +2061 4 2 6 10 56 413 22 23 +2062 4 2 6 10 186 411 330 393 +2063 4 2 6 10 371 195 412 192 +2064 4 2 6 10 195 192 32 412 +2065 4 2 6 10 192 371 363 412 +2066 4 2 6 10 394 363 192 354 +2067 4 2 6 10 192 394 32 412 +2068 4 2 6 10 417 18 1 19 +$EndElements diff --git a/demos/patient_specific_lv.py b/demos/patient_specific_lv.py new file mode 100644 index 00000000..1958d8fb --- /dev/null +++ b/demos/patient_specific_lv.py @@ -0,0 +1,157 @@ +# # Patient specific geometry +# +# In this demo we show to use `simcardems` on a patient specific geometry coming from `gmsh`. We have uploaded a [gmsh file](https://github.com/ComputationalPhysiology/simcardems/blob/main/demos/geometries/patient.msh) of an LV geometry where the basal, endocardial and epicardial surfaces are marked. In order to run a simulation we need to first convert this geometry into FEniCS format and then generate some fiber orientations. To convert the mesh we will use a library called [`cardiac-geometries`](https://computationalphysiology.github.io/cardiac_geometries/) and we will generate rule-based fiber orientations using the [`ldrb algorithm`](https://finsberg.github.io/ldrb/README.html). +# +# First we make the necessary imports. + +from pathlib import Path +import math +import cardiac_geometries +import ldrb +import simcardems +import pulse + +# Next we use `cardiac-geometries` to convert the gmsh file into FEniCS format. +# + +msh_file = "geometries/patient.msh" +geo = cardiac_geometries.gmsh2dolfin(msh_file) + +# Mesh is currently in centimeters. Let us make sure it in a unit so that we can use kPa directly without scaling it. +# + +geo.mesh.scale(1 / math.sqrt(10)) + +# The `geo` object now contains the markers, but the `ldrb` algorithm expects the markers in a dictionary with keys `base`, `lv` and `epi` so we create a translation for this. +# + +ldrb_markers = { + "base": geo.markers["BASE"][0], + "lv": geo.markers["ENDO"][0], + "epi": geo.markers["EPI"][0], +} + +# We also need to specify a function space for the fibers. In this example we will will first order discontinuous lagrange elements. + +fiber_space = "DG_1" + +# We also need so specify the fiber fiber orientations on the endo- and epicardium. + +angles = dict( + alpha_endo_lv=60, # Fiber angle on the endocardium + alpha_epi_lv=-60, # Fiber angle on the epicardium + beta_endo_lv=0, # Sheet angle on the endocardium + beta_epi_lv=0, +) + +# Now we can run the ldrb algorithm in order to get the fibers (`f0`), sheets (`s0`) and sheet-normal (`n0`) directions. For some reason we also need to allow these functions to be extrapolated. + +f0, s0, n0 = ldrb.dolfin_ldrb( + mesh=geo.mesh, + fiber_space=fiber_space, + ffun=geo.marker_functions.ffun, + markers=ldrb_markers, + **angles +) +f0.set_allow_extrapolation(True) +s0.set_allow_extrapolation(True) +n0.set_allow_extrapolation(True) + + +# Next we define a directory where to store the output + +here = Path(__file__).absolute().parent +outdir = here / "results_patient_specific_lv" +outdir.mkdir(exist_ok=True) + + +# and then we can load the geometry into simcardems. +# + +geometry = simcardems.lvgeometry.LeftVentricularGeometry( + mechanics_mesh=geo.mesh, + microstructure=pulse.Microstructure(f0=f0, s0=s0, n0=n0), + ffun=geo.marker_functions.ffun, + markers=geo.markers, + parameters={"num_refinements": 1, "fiber_space": fiber_space}, +) + +# For this example we will use the Tor-Land model with some non-default initial conditions specified in the following file +# + +# Specify path to the initial conditions for the cell model +initial_conditions_path = ( + here / "initial_conditions/fully_coupled_Tor_Land/init_5000beats.json" +) + +# We will run the simulation for 1000 milliseconds. We apply a spring on the epicardium to mimic the pericardium and we set the traction on the endocardium to zero. + +config = simcardems.Config( + outdir=outdir, + coupling_type="fully_coupled_Tor_Land", + T=1000, + traction=0.0, # Pressure on the endocardium + cell_init_file=initial_conditions_path, + mechanics_use_continuation=True, +) + +# Now we can create the coupling. + +coupling = simcardems.models.em_model.setup_EM_model_from_config( + config=config, + geometry=geometry, +) + +# And to make things move a little bit more we will scale the reference active tension to 60 kPa. + +coupling.mech_solver.material.active.T_ref.assign(10.0) + +# Now we create the runner + +runner = simcardems.Runner.from_models(config=config, coupling=coupling) + +# but before we run the EM simulations, we will inflate the LV to a cavity pressure of 3 kPa. +# +# xdmf = dolfin.XDMFFile(dolfin.MPI.comm_world, "u.xdmf") +# u = dolfin.Function(coupling.mech_solver.state_space.sub(0).collapse()) +# xdmf.write_checkpoint(u, "u", 0.0, dolfin.XDMFFile.Encoding.HDF5, True) + +pulse.iterate.iterate( + problem=runner.coupling.mech_solver, + control=runner.coupling.mech_solver.bcs.neumann[0].traction, + target=3, # Set it to 3 kPa + initial_number_of_steps=50, +) + +# u.assign(coupling.mech_solver.state.split(deepcopy=True)[0]) +# xdmf.write_checkpoint(u, "u", 1.0, dolfin.XDMFFile.Encoding.HDF5, True) + +# V = dolfin.FunctionSpace(coupling.geometry.mechanics_mesh, "CG", 1) +# Ta = dolfin.Function(V) + + +# class _Land(coupling.mech_solver.material.active.__class__): +# Ta = Ta + + +# coupling.mech_solver.material.active.__class__ = _Land +# coupling.mech_solver._init_forms() + +# pulse.iterate.iterate( +# problem=runner.coupling.mech_solver, +# control=Ta, +# target=60.0, +# initial_number_of_steps=100, +# ) + +# u.assign(coupling.mech_solver.state.split(deepcopy=True)[0]) +# xdmf.write_checkpoint(u, "u", 2.0, dolfin.XDMFFile.Encoding.HDF5, True) +# Now we run the EM simulation. + +runner.solve(T=config.T, save_freq=config.save_freq, show_progress_bar=True) + + +# And save the output to xdmf-files that can be viewed in Paraview +# + +simcardems.postprocess.make_xdmffiles(outdir.joinpath("results.h5"), names=["u"]) diff --git a/docs/_toc.yml b/docs/_toc.yml index 1b4160e2..b2ef3fad 100644 --- a/docs/_toc.yml +++ b/docs/_toc.yml @@ -24,6 +24,7 @@ parts: - file: "extract_currents" - file: "tracking_values" - file: "custom_stimulus_domain" + - file: "patient_specific_lv" - file: "cli" - file: "docker" - file: "gui" diff --git a/src/simcardems/models/fully_coupled_Tor_Land/active_model.py b/src/simcardems/models/fully_coupled_Tor_Land/active_model.py index 12eba155..7f3c3998 100644 --- a/src/simcardems/models/fully_coupled_Tor_Land/active_model.py +++ b/src/simcardems/models/fully_coupled_Tor_Land/active_model.py @@ -45,6 +45,7 @@ def __init__( eta=0, scheme: Scheme = Scheme.analytic, dLambda_tol: float = 1e-12, + T_ref: float = 0.0, **kwargs, ): logger.debug("Initialize Land Model") @@ -56,7 +57,7 @@ def __init__( self._eta = eta self.function_space = dolfin.FunctionSpace(coupling.mech_mesh, "CG", 1) - + self.T_ref = dolfin.Constant(T_ref) self.XS = coupling.XS_mech self.XW = coupling.XW_mech if parameters is None: @@ -235,7 +236,7 @@ def Wactive(self, F, **kwargs): self.update_Zetas() self.update_Zetaw() return pulse.material.active_model.Wactive_transversally( - Ta=self.Ta, + Ta=self.Ta * self.T_ref, C=C, f0=self.f0, eta=self.eta, diff --git a/src/simcardems/newton_solver.py b/src/simcardems/newton_solver.py index 7a384f0f..30f3ab8a 100644 --- a/src/simcardems/newton_solver.py +++ b/src/simcardems/newton_solver.py @@ -95,8 +95,9 @@ def default_solver_parameters(): def converged(self, r, p, i): self._converged_called = True - + print("converged") res = r.norm("l2") + print(f"Mechanics solver residual: {res}") logger.debug(f"Mechanics solver residual: {res}") if self.debug: @@ -130,7 +131,9 @@ def solver_setup(self, A, J, p, i): def solve(self): logger.debug("Solving mechanics") self._solve_called = True + print("Solve before") ret = super().solve(self._problem, self._state.vector()) + print("Solve after") self._state.vector().apply("insert") logger.debug("Done solving mechanics") self.save_residuals() @@ -144,6 +147,10 @@ def check_overloads_called(self): assert getattr(self, "_update_solution_called", False) assert getattr(self, "_solve_called", False) + def update_solution(self, x, dx, rp, p, i): + print("Update solution") + return super().update_solution(x, dx, rp, p, i) + class MechanicsNewtonSolver_ODE(MechanicsNewtonSolver): def update_solution(self, x, dx, rp, p, i):