BM_48.py 47.7 KB
Newer Older
navidmokh's avatar
navidmokh committed
1
2
from scipy.integrate import odeint
import numpy as np
3
# import matplotlib.pyplot as plt
navidmokh's avatar
navidmokh committed
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137

# Source: https://ths.rwth-aachen.de/research/projects/hypro/brusselator/

def BM15_dynamic(y, t):
    x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48 = y
    
    u1 = 0.9
    x1_dot = x25
    x2_dot = x26
    x3_dot = x27
    x4_dot = x28
    x5_dot = x29
    x6_dot = x30
    x7_dot = x31
    x8_dot = x32
    x9_dot = x33
    x10_dot = x34
    x11_dot = x35
    x12_dot = x36
    x13_dot = x37
    x14_dot = x38
    x15_dot = x39
    x16_dot = x40
    x17_dot = x41
    x18_dot = x42
    x19_dot = x43
    x20_dot = x44
    x21_dot = x45
    x22_dot = x46
    x23_dot = x47
    x24_dot = x48
    x25_dot = 0.0136967538693329680865634844542*u1 - 606.164046021092872251756489277*x1 + 34.6695356800438290179044997785*x2 - 5.04318723462539342250465779216*x3 - 734.040295849883477785624563694*x4 + 124.549975345843037644044670742*x5 - 302.909834269278178453532746062*x6 - 98.2100342418846707914781291038*x7 - 2.20397479797288031733160096337*x8 - 10.6677922202438022480919244117*x9 - 41.863998082454457971834926866*x10 + 8.17839556225174568737656954909*x11 + 51.3604382961238172811135882512*x12 - 10.9557477057937262543418910354*x13 - 2.30858553622791351500609380309*x14 - 11.9980250650595809958076642943*x15 - 42.0033077660594429403317917604*x16 + 4.94176920969730115729134922731*x17 - 1.52161539515134913713723108231*x18 - 10.3503607724969182157792602084*x19 + 8.69692466785371820492400729563*x20 + 14.960213669360362231941508071*x21 + 37.8850089028900143262035271619*x22 - 24.5460553348856329591853864258*x23 - 19.2995740309546626178871520096*x24 - 1.13328370086289553775316107931*x25 + 0.0365226968908368698762956228165*x26 - 0.00531275647171620263309321785528*x27 - 0.773276332009313782656079183653*x28 + 0.131207441446377193194905430573*x29 - 0.319101013559786317319577619855*x30 - 0.103459572661279267102862888805*x31 - 0.00232178208464593879498116812954*x32 - 0.0112380087659224754681464020223*x33 - 0.0441017189426105987726245416525*x34 + 0.00861554855499246582950512163279*x35 + 0.0541057649637036036649462289461*x36 - 0.0115413561156006011509944642057*x37 - 0.00243198438570058897076342496746*x38 - 0.0126393454321325829359246029071*x39 - 0.0442484755512943389588187415029*x40 + 0.00520591740857416756388387213406*x41 - 0.0016029490480756059932881951724*x42 - 0.010903609916449801334192848401*x43 + 0.00916179413778934331746839347943*x44 + 0.0157598698808382418901086197138*x45 + 0.0399100451992877650053692661913*x46 - 0.0258580947815367744035963681881*x47 - 0.0203311779208327630952268805231*x48
    x26_dot = 33.5100191754554117551379022188*x1 - 664.524859608272777222737204283*x2 + 79.7727201753184402832630439661*x3 + 207.449582249006965639637201093*x4 + 829.030036981235411985835526139*x5 + 94.0547240104095294555008877069*x6 - 4.31328119435693757566241401946*x7 - 136.484496644295290934678632766*x8 + 16.2760005478701543779607163742*x9 + 28.2430667031913422704292315757*x10 - 76.9355704697986577181208053691*x11 - 0.554521750445144512298156769248*x12 + 30.9314943158471429285327758407*x13 + 51.904458293384465150666073896*x14 + 11.8704648678263247063568996964*x15 + 9.69475811532666753578268981073*x16 - 15.6126585399260378039798524696*x17 + 15.140252020271194766110056662*x18 + 7.61328297493493977299294783734*x19 - 5.71224517189426084229353364208*x20 + 3.78410546500479361142765810655*x21 - 21.1717326393644711401975655463*x22 - 29.0137351047801672621062607504*x23 + 10.2446041638131752904428140027*x24 + 0.0353012025749897262461018954127*x25 - 1.19476403232433892043218293111*x26 + 0.0840367442816052634402268495251*x27 + 0.218538213943295422936330396624*x28 + 0.873343487193535050749915171764*x29 + 0.0990821517600328632857653587962*x30 - 0.00454383536501849066846503433226*x31 - 0.143779893165319805348190129735*x32 + 0.0171459882207916740337605432387*x33 + 0.0297527201753184505905736045861*x34 - 0.0810479427475688102289197445316*x35 - 0.000584162142172305227927342485827*x36 + 0.0325848500205451266364953255561*x37 + 0.054678863169428847113007208236*x38 + 0.0125049668538556365410263637727*x39 + 0.0102129638405697841657682189975*x40 - 0.0164471894261060125330686787493*x41 + 0.0159495315710176700785272174699*x42 + 0.00802022942062731100665295969065*x43 - 0.00601757704424051454578092901215*x44 + 0.00398637405834817177413542665931*x45 - 0.0223034077523626902972431196304*x46 - 0.0305645815641692915332061630806*x47 + 0.0107922003835091082080133162435*x48
    x27_dot = 76.5718829893994836766069056466*x2 - 3.45768646339355489871536519786*x1 - 799.408768313541713723680004478*x3 - 347.777337774074283061054302379*x4 - 142.585708278404524662619223818*x5 + 867.69780173003141499066259712*x6 - 165.083263893009444700510357507*x7 + 36.9917277870508200976473744959*x8 + 91.2559574638243731214970466681*x9 - 66.2656834088792408010704093613*x10 + 26.4344943411510655550955561921*x11 + 39.5193022601857961717541911639*x12 + 67.3732918325279968030372401699*x13 - 32.1768522507694285650359233841*x14 + 17.1642394801134088311300729401*x15 + 133.44969209773412899266986642*x16 + 34.3778155579003268371707235929*x17 + 6.56518872719111001856617804151*x18 + 27.8685849394901730136098194635*x19 - 51.4728370091557962950901128352*x20 + 41.979282705102633599381078966*x21 - 44.928035746072858103161706822*x22 + 34.4171011524083922950012492947*x23 + 30.8238894492844828221222996945*x24 - 0.00364250728155965939128457797835*x25 + 0.0806648160712857553722443526567*x26 - 1.33685772000113489710315661796*x27 - 0.366366791960229365443524329748*x28 - 0.150207224545499090639921746515*x29 + 0.914078124879070585961926553864*x30 - 0.17390732748056744738640588821*x31 + 0.0389690149965301324552768846843*x32 + 0.0961337859208560852053437884024*x33 - 0.0698077281275878841482196435209*x34 + 0.0278474755109990868007230346848*x35 + 0.0416316949716606030107435287846*x36 + 0.0709745396944969769714717244824*x37 - 0.0338967747011916162303002408862*x38 + 0.0180817056779396453936037403309*x39 + 0.140582873049328843650940257248*x40 + 0.0362153845360053405766365131058*x41 + 0.00691611230499738095095496603903*x42 + 0.0293582204874323765553256748717*x43 - 0.0542241714242962871694864190886*x44 + 0.0442231665819623684376971084475*x45 - 0.047329536688999356008888952374*x46 + 0.0362567701091008540159599249364*x47 + 0.0324714929196667848043666992908*x48
    x28_dot = 206.799323770491838558882591315*x2 - 734.858668032787022639240603894*x1 - 348.316905737704985313030192629*x3 - 1910.3864754098362936929333955*x4 - 135.40587090163936068165639881*x5 - 218.045901639344262295081967213*x6 - 1130.01311475409852391749154776*x7 + 263.61145491803279128362191841*x8 - 178.598760245901672760737710632*x9 - 285.024415983606616009637946263*x10 + 65.1246311475409811464487574995*x11 + 125.087694672131149786764581222*x12 - 78.1636116803278753195627359673*x13 - 2.02878883196721337967005638347*x14 + 11.4138063524590163934426229508*x15 - 54.4813227459016431453164841514*x16 - 17.6245655737704929322262614733*x17 - 14.27330225409836117478334927*x18 - 13.3341465163934440596449348959*x19 + 11.5139415983606578919307139586*x20 + 88.0761936475410038838163018227*x21 + 56.3041915983606600093480665237*x22 - 12.5295655737704940690946386894*x23 + 19.4972182377049207957497856114*x24 - 0.774138452868852522392728587874*x25 + 0.217853196721311481720562142073*x26 - 0.366935194672131148596605498824*x27 - 2.50721967213114771411142100987*x28 - 0.142643606557377067289849037479*x29 - 0.229700922131147566851439023594*x30 - 1.1904147540983607278519684769*x31 + 0.277702059426229552752118934222*x32 - 0.188145245901639363017565642622*x33 - 0.300259590163934442230697641207*x34 + 0.0686056834016393474184880574285*x35 + 0.131773903688524596233833108272*x36 - 0.0823416260245901782122146528309*x37 - 0.00213723196721311500811957273527*x38 + 0.0120238985655737717211932746864*x39 - 0.0573934672131147585738553118517*x40 - 0.0185666362704918035120282837624*x41 - 0.0150362407786885244470598266275*x42 - 0.0140468852459016396022617456651*x43 + 0.0121293862704918032485723600189*x44 + 0.0927840563524590239419254089626*x45 + 0.0593137725409836127909990466378*x46 - 0.0131992981557377073859038674186*x47 + 0.0205393862704918057915381979228*x48
    x29_dot = 126.412530737704926764308765996*x1 + 830.412161885245950543321669102*x2 - 142.112366803278689530998235568*x3 - 134.843053278688557838904671371*x4 - 1968.71854508196724964363966137*x5 + 54.5612540983606564282126782928*x6 + 141.801977459016399052416090854*x7 + 1183.90788934426245759823359549*x8 + 118.233555327868856466011493467*x9 - 32.8974446721311508667895395774*x10 + 295.191485655737722026970004663*x11 - 13.7271444672131153197369712871*x12 - 6.98091086065573840357956214575*x13 - 150.488750000000010231815394945*x14 - 16.6307950819672143438765488099*x15 + 76.502943647540988081345858518*x16 + 25.452959016393442936987412395*x17 + 26.848077868852463723214896163*x18 + 8.6960323770491818606842571171*x19 - 20.180311475409837385086575523*x20 - 16.5110307377049174704097822541*x21 + 8.53303780737704897774165146984*x22 + 112.091055327868858171314059291*x23 + 9.10243206967213147606798884226*x24 + 0.133169549180327889681407782518*x25 + 0.874799487704918110608787173987*x26 - 0.149708575819672146112182531397*x27 - 0.142050706967213113962600345985*x28 - 2.56866967213114749668534386728*x29 + 0.0574776711065573819858798287896*x30 + 0.149381598360655759583082158315*x31 + 1.24719036885246803926509246367*x32 + 0.124553391393442638990229909268*x33 - 0.0346558842213114809416296679956*x34 + 0.31097011270491808909710584885*x35 - 0.0144608903688524595421149854246*x36 - 0.00735405563524590185492391114508*x37 - 0.158532694672131158064587452827*x38 - 0.0175197469262295089931225078317*x39 + 0.0805921915983606601541211489348*x40 + 0.0268134743852459049573422333879*x41 + 0.0282831659836065597846133101712*x42 + 0.00916085409836065595046150633607*x43 - 0.0212589928278688541918306498246*x44 - 0.0173935809426229541496677910573*x45 + 0.0089891471311475418942693593749*x46 + 0.118082561475409852924656206596*x47 + 0.00958897674180327931614531422611*x48
    x30_dot = 89.1396373220260187508756644093*x2 - 308.616343741740308814769377932*x1 + 845.849369842552391673962119967*x3 - 220.153958013332129439731943421*x4 + 49.493840456681908790415036492*x5 - 2326.78886362845423718681558967*x6 + 132.762195632400789691018871963*x7 + 67.1693114874989021245710318908*x8 - 1400.60894683425726725545246154*x9 + 24.1684451914928040139329823432*x10 + 24.2784600812493494004229432903*x11 - 85.2664777307371366532606771216*x12 - 294.404263944684998932643793523*x13 + 127.924746060516568491038924549*x14 - 24.4556350156657558159167820122*x15 - 379.055709135237179907562676817*x16 - 100.156356552762701994652161375*x17 - 46.5368599074257858205783122685*x18 - 67.4113485717403193575592013076*x19 + 169.298036866021362811807193793*x20 - 100.190547497194657466934586409*x21 + 200.073348276390760247522848658*x22 - 126.908781193945898735364608001*x23 - 44.0445112482093250605430512223*x24 - 0.325112557341552976808429775701*x25 + 0.0939043434256974784979377091076*x26 + 0.891061847514972082962003696593*x27 - 0.231921662761593649904057201638*x28 + 0.0521393937056681688879677949444*x29 - 2.94587963846956268909593745775*x30 + 0.139858617858113681853282628254*x31 + 0.0707596560024154747070568305389*x32 - 1.47547451105068261334452017763*x33 + 0.0254603004100091533101757335089*x34 + 0.0255761959540872531315702786969*x35 - 0.0898241550792129445079936544971*x36 - 0.310140808373630394445541469395*x37 + 0.134762596329576267439875891796*x38 - 0.0257628418271414957874121398618*x39 - 0.399317055872800252824816880093*x40 - 0.105509934185959247665564930685*x41 - 0.0490243559921628921371983267363*x42 - 0.0710146310905265254476148584217*x43 + 0.178347387520258249260507454892*x44 - 0.105545949901565822015570006442*x45 + 0.210767701926450418126179897627*x46 - 0.133692330411504717302406675117*x47 - 0.0463987858687462811912993743135*x48
    x31_dot = 140.174382775119624966464471072*x5 - 3.26441942583732025440212964895*x2 - 166.031933014354052602357114665*x3 - 1130.13540669856456588604487479*x4 - 97.1351291866028532240306958556*x1 + 149.903205741626777580677298829*x6 - 2042.1976076555022245884174481*x7 + 77.1528258373205773068548296578*x8 + 122.698851674641147724287293386*x9 - 1223.55655502392346534179523587*x10 - 66.5052641148325420772380311973*x11 + 249.182382775119606321823084727*x12 - 16.6315004784688973415995860705*x13 + 2.62739569377990456189309043111*x14 + 56.399134928229663898946455447*x15 - 46.8711598086124325845958082937*x16 - 118.395215311004776026493345853*x17 - 62.0111196172248781977032194845*x18 - 2.16584526315789460682026401628*x19 - 30.2686478468899515803514077561*x20 + 130.250133971291859324992401525*x21 + 5.21906937799043024739376051002*x22 - 24.9314325358851647251867689192*x23 + 6.33034277511961640527715644566*x24 - 0.102327215311004776632231028088*x25 - 0.00343890966507177020181074134086*x26 - 0.174906698564593315881054991223*x27 - 1.19054354066985634830189155764*x28 + 0.147667004784688998819675020968*x29 + 0.157915856459330122829598508361*x30 - 2.64607636363636355980588632519*x31 + 0.0812768114832535804037405569034*x32 + 0.129257368421052620810485223046*x33 - 1.28895827751196190291693710606*x34 - 0.070060113875598087340712538662*x35 + 0.26250172248803826935414917898*x36 - 0.0175204899521531100303750605462*x37 + 0.00276783569377990435952940906361*x38 + 0.0594137904306220113181957742654*x39 - 0.0493765244019138752062936248421*x40 - 0.124723693779904304390626634813*x41 - 0.0653257483253588538962830511991*x42 - 0.00228161435406698531735969481815*x43 - 0.0318865722488038266790866259726*x44 + 0.137212287081339701089177651738*x45 + 0.00549803990430622075563649175933*x46 - 0.0262640717703349277356572599729*x47 + 0.00666871330143540674145752333857*x48
    x32_dot = 34.5959272727272661995812086388*x3 - 138.285349282296635919919935986*x2 - 2.54354593301435372154628566932*x1 + 264.02404784688991412622272037*x4 + 1185.01569377990426801261492074*x5 + 58.9313674641148352861819148529*x6 + 77.0776200956937742603258811869*x7 - 2124.43483253588510706322267652*x8 - 54.1781454545454579374563763849*x9 + 240.202430622009558192075928673*x10 - 1279.61588516746382993005681783*x11 + 14.033242105263157739614143793*x12 + 37.3134947368421023838891414925*x13 + 238.992688995215303293662145734*x14 + 1.76482507177033487444361981034*x15 - 96.4675311004784674651091336273*x16 + 33.3242832535885185052393353544*x17 - 103.988497607655503429668897297*x18 - 129.687569377990428165503544733*x19 + 35.9614717703349313637772866059*x20 + 34.9162956937799009438094799407*x21 - 10.0898076555023923361886772909*x22 - 99.8399712918660213745170040056*x23 - 13.7130880382775117709570622537*x24 - 0.00267950392344497604832365134087*x25 - 0.145677004784689007044207187391*x26 + 0.0364451540669856466347908963144*x27 + 0.278136708133971288781083330832*x28 + 1.24835732057416270990302109567*x29 + 0.0620813760765550198827966710269*x30 + 0.0811975856459330180836531098976*x31 - 2.73270937799043034388546402624*x32 - 0.0570740842105263157524319694858*x33 + 0.253041770334928250996142651275*x34 - 1.34801416267942575366589608166*x35 + 0.0147833492822966490465308453395*x36 + 0.03930798181818181968871783738*x37 + 0.251767368421052628590928179619*x38 + 0.00185915875598086110555284822254*x39 - 0.101623933014354059234385374566*x40 + 0.0351055377990430600432247842946*x41 - 0.109546909090909083683840208323*x42 - 0.136619645933014344230116421386*x43 + 0.0378836899521531114687356023296*x44 + 0.0367826468899521488720161244146*x45 - 0.010629130143540669456436731366*x46 - 0.105176631578947354928033064425*x47 - 0.0144460822966507168585437170805*x48
    x33_dot = 54.5760433481462072791146056261*x3 - 4.38464653869288678578186591039*x2 - 11.0679097790644469512244540965*x1 - 167.434912003892009124683681875*x4 + 119.064546475232759803475346416*x5 - 1413.11506470533231549779884517*x6 + 116.298198046884365908226754982*x7 - 50.9782870399864975752279860899*x8 - 2668.81675413462971846456639469*x9 + 58.1198486223692398766615951899*x10 + 61.2207493920817995558536495082*x11 - 299.507898592873118559509748593*x12 - 1455.38323047608332672098185867*x13 + 600.587217128772749674681108445*x14 - 14.9624211816159249366364747402*x15 - 609.808684687576828764576930553*x16 - 179.982716010567315834123292007*x17 - 140.88750679486659578287799377*x18 - 67.4247277709610699503173236735*x19 + 261.43970088521496109024155885*x20 - 215.803846163392847756767878309*x21 + 374.461379095225765922805294394*x22 - 267.83394132048357505482272245*x23 - 167.394891584128515660268021747*x24 - 0.011659513681986177421889827599*x25 - 0.00461901536694761787743557235331*x26 + 0.0574932506393586867377010207747*x27 - 0.176384667636908798460382286066*x28 + 0.125428802622466889493679786938*x29 - 1.48864915983594681136992221582*x30 + 0.122514584658866679256483678273*x31 - 0.0537031869889370919168847251512*x32 - 3.30618963738372162453060809639*x33 + 0.0612264798330014112237584811282*x34 + 0.0644931306691113037654616846339*x35 - 0.315517241379310344827586206897*x36 - 1.53317657221009184809190628584*x37 + 0.632689906696242809758246039564*x38 - 0.0157621949756460398572865955202*x39 - 0.64240427822175960592687715689*x40 - 0.189603179790722248254652981814*x41 - 0.148418246068078574229076593838*x42 - 0.0710287250141275194881274046566*x43 + 0.275414215895147695967182244203*x44 - 0.227339026817900885513168418584*x45 + 0.394477148977398384133152831055*x46 - 0.282150247428292921814119154078*x47 - 0.17634251257412300595284193605*x48
    x34_dot = 29.0279618937644308118706248933*x2 - 42.2193446882217102711365441792*x1 - 59.8327562066974536492125480436*x3 - 284.778947748267853512516012415*x4 - 31.9600671189376477343557780841*x5 + 16.1889246535796758053038502112*x6 - 1220.60038972286383796017616987*x7 + 238.171174942263263574204756878*x8 + 45.9650411374133938124941778369*x9 - 2290.88431004618905717507004738*x10 + 219.741657043879882849068962969*x11 + 1329.29149826789830513007473201*x12 - 104.549040127020788304434972815*x13 - 231.448729792147787520661950111*x14 + 196.73420900692838131362805143*x15 - 91.2934396651270247957654646598*x16 - 418.100736143187077686889097095*x17 - 203.170821304849852140250732191*x18 + 77.1466584872979268538983887993*x19 - 64.4069666570438812414067797363*x20 + 127.60241772517321123814326711*x21 - 66.4219688221708963737910380587*x22 + 17.6468685046189364129531895742*x23 + 14.7724314376443413010520089301*x24 - 0.0444760601905311789283636869641*x25 + 0.0305795691397228626418058894387*x26 - 0.0630309461605080834090131247649*x27 - 0.300000995958429550469759305997*x28 - 0.033668402136258657186829168495*x29 + 0.0170542573614318702934777860492*x30 - 1.28584411085450334155666496372*x31 + 0.250901941397228600560964650867*x32 + 0.0484219717090069237674931912352*x33 - 2.9080559324480366178988788306*x34 + 0.231487326789838299134771659737*x35 + 1.40034497690531178903938780422*x36 - 0.110137413394919170261943008882*x37 - 0.243820164549653550789543032806*x38 + 0.207250079387990754353765510132*x39 - 0.0961732678983833744190690140385*x40 - 0.440449126732101570169675142097*x41 - 0.214030737586605068756284708797*x42 + 0.0812703161085450292988596743271*x43 - 0.0678496586316397198856975592207*x44 + 0.13442304416859121585225977924*x45 - 0.0699723664838337033877735393617*x46 + 0.0185901320727482680106312784574*x47 + 0.0155620496535796761644609986774*x48
    x35_dot = 5.31468201501154702270923735341*x1 - 77.3203882794457371119278832339*x2 + 33.0979445727482683992093370762*x3 + 62.873027569284062110455124639*x4 + 295.947676096997668082622112706*x5 + 11.2385876154734400955703677027*x6 - 66.807770640877592427386844065*x7 - 1279.22315242494232734316028655*x8 + 57.1980174653579638288647402078*x9 + 221.066216801385678536462364718*x10 - 2387.57736720554248677217401564*x11 + 120.012730946882214766446850263*x12 + 572.577359988452712968864943832*x13 + 1229.09129618937640771036967635*x14 + 124.631784064665112055081408471*x15 - 56.0893829387990692225685052108*x16 + 180.303962182448032081083511002*x17 - 312.478262124711307023972040042*x18 - 445.949797921478022999508539215*x19 - 24.2738127886836032587325462373*x20 + 86.3425447459584205489591113292*x21 - 2.83165682736720558665410862886*x22 - 45.57404662240184478605442564*x23 - 33.3462312355658170304195664357*x24 + 0.00559876327944572749900631336573*x25 - 0.0814533270785219309928493203188*x26 + 0.0348671016166281766412993192716*x27 + 0.066233726905311776644857957308*x28 + 0.311766721997690510193024238106*x29 + 0.0118393143764434181919309452269*x30 - 0.0703787904157043842090502039355*x31 - 1.34760038972286366742991958745*x32 + 0.0602553752886836047064633703485*x33 + 0.232882686200923783026439650712*x34 - 3.0099174364896073008424082218*x35 + 0.126427670323325608281450627146*x36 + 0.603182859411085403600338850083*x37 + 1.29478890011547331795327409054*x38 + 0.131293620092378743313688005401*x39 - 0.0590874819572748261053973806156*x40 + 0.18994159930715934225808894098*x41 - 0.329180903579676664705289113044*x42 - 0.469786778290993023432520203642*x43 - 0.0255713005196304826727171644052*x44 + 0.0909577439376443308560737932567*x45 - 0.00298301501154734412940561227856*x46 - 0.0480100779445727446348435307755*x47 - 0.0351286590646651269986833199255*x48
    x36_dot = 48.4094460296675634936036658473*x1 - 3.73349351144292240789468451112*x2 + 32.3849514824007655988680198789*x3 + 123.401386635917688749941589776*x4 - 10.5088582484804664574085109052*x5 - 100.460593497762232573222718202*x6 + 251.004510964097960368235362694*x7 + 15.1145525924912540460809395881*x8 - 306.959698145288996329327346757*x9 + 1327.89426046084395238722208887*x10 + 119.588412697637153314644820057*x11 - 2059.64171243184091508737765253*x12 - 316.770812975159799407265381888*x13 + 309.660914261144910142320441082*x14 - 870.945690093224243355507496744*x15 - 176.047470781949300544511061162*x16 + 612.796700021498281785170547664*x17 + 311.810725174428853279096074402*x18 - 23.027424902769364933874385315*x19 + 201.61256889205935749487252906*x20 - 171.236868978052257261879276484*x21 + 169.572887554478484162245877087*x22 - 91.8731433345711110405318322591*x23 - 44.0014627347704632143177150283*x24 + 0.0509970354427658478790874596598*x25 - 0.00393305682862000929173040830733*x26 + 0.0341159970049055086271927450525*x27 + 0.129997459299939416288438565061*x28 - 0.0110705795483417059055231135289*x29 - 0.10583043025778335333164648091*x30 + 0.264421245627064316341403582555*x31 + 0.0159224579562999603299378037491*x32 - 0.323367355912990817046193114948*x33 + 1.39887305294428054835975672177*x34 + 0.125980673578673763035595811743*x35 - 2.66445291887349267057061297237*x36 - 0.333702899329646029968898801599*x37 + 0.326212958303203237608869358155*x38 - 0.917499621337971804635458283883*x39 - 0.185457588631344427732017265953*x40 + 0.645552003732874690733467559767*x41 + 0.32847768092716006504971915092*x42 - 0.0242582908661832831465066107057*x43 + 0.212389198604569368056260714184*x44 - 0.180389850880450286485512378931*x45 + 0.178636926632399772874038035297*x46 - 0.0967839623194637344028024017462*x47 - 0.0463534358082357822450347839549*x48
    x37_dot = 16.772341637010676151930965716*x2 - 18.7114846975088973124456970254*x1 + 31.3372725978647679312416585162*x3 - 86.7993523131672475301456870511*x4 - 1.82612434163701053968509313563*x5 - 326.224284697508892350015230477*x6 - 26.874758718861208706130128121*x7 + 48.4226028469750815474981209263*x8 - 1444.0616370106761223723879084*x9 - 111.754996441281122088184929453*x10 + 580.838427046263291231298353523*x11 - 316.971444839857610986655345187*x12 - 2618.37715302491096736048348248*x13 + 213.689544483985770284562022425*x14 - 227.057644128113850001682294533*x15 - 1560.25281138790023760520853102*x16 - 475.121373665480405179550871253*x17 + 287.077352313167239117319695652*x18 + 62.3445039145907458077999763191*x19 + 349.71219928825621536816470325*x20 - 307.689800711743771444162121043*x21 + 551.858391459074709928245283663*x22 - 413.537117437722372415009886026*x23 - 278.790676156583572264935355633*x24 - 0.0197116540925266897632539553342*x25 + 0.0176688597864768648371125436825*x26 + 0.0330123174377224201658798108383*x27 - 0.0914389679715302411411315119949*x28 - 0.00192373466192170784402892813603*x29 - 0.343661679715302481596950201492*x30 - 0.0283112725978647700175727663918*x31 + 0.0510108953736654810451334185473*x32 - 1.52124982206405690021711052395*x33 - 0.117728540925266883521160821147*x34 + 0.611885494661921658376968480297*x35 - 0.33391425622775794401775328879*x36 - 3.25305395017793586021070950665*x37 + 0.225111715302491077750346448738*x38 - 0.239194362989323838775135300239*x39 - 1.64365167259786471021243414725*x40 - 0.500517637010676086362082060077*x41 + 0.302422256227757979551995504153*x42 + 0.0656769523131672527949120876656*x43 + 0.368405074733096082884031829963*x44 - 0.324136483985765111448529296467*x45 + 0.581356412811387834871368340828*x46 - 0.435641572953736622153542157321*x47 - 0.293692640569394980420980800773*x48
    x38_dot = 2.16050427046263360253419705259*x1 + 59.1520533807829096417663095053*x2 - 19.3970683274021347131110815099*x3 + 2.43569387900355849296829546802*x4 - 153.3190177935942983822315*x5 + 143.738903914590736121681402437*x6 + 5.16718562277580062414017447736*x7 + 235.263274021352287945774151012*x8 + 606.807309608540890621952712536*x9 - 229.217686832740184854628751054*x10 + 1225.80341637010678823571652174*x11 + 308.876533807829162014968460426*x12 + 220.468597864768668159740627743*x13 - 2060.73423487544459931086748838*x14 - 41.0243736654804251884343102574*x15 + 847.464056939501688248128630221*x16 - 549.357174377224168893008027226*x17 + 704.763281138789920987619552761*x18 + 575.932362989323792135110124946*x19 - 182.761715302491097645543050021*x20 + 62.7699857651245594070132938214*x21 - 246.61828469750886938527401071*x22 + 238.446576512455493457309785299*x23 + 159.346797153024880344673874788*x24 + 0.0022759879003558720379774005238*x25 + 0.0623138583629893258453158466637*x26 - 0.0204338832740213506566906431772*x27 + 0.00256588697508896776411368989557*x28 - 0.161514249110320279312347224732*x29 + 0.151422056939501781247514600182*x30 + 0.00544338284697508910381369418019*x31 + 0.24783860498220636192634458439*x32 + 0.639242469750889719115605203115*x33 - 0.241469864768683262212789486512*x34 + 1.29132526690391435941762665607*x35 + 0.325386654804270425422885182343*x36 + 0.232253124555160117559182708646*x37 - 2.66560384341637002236780062958*x38 - 0.0432172149466192173639100815308*x39 + 0.892762846975088897316652492009*x40 - 0.578721501779359437378502661886*x41 + 0.742434377224199248956892915885*x42 + 0.606717195729537306370104943198*x43 - 0.192530725978647676566168911449*x44 + 0.0661251772241992774592489467977*x45 - 0.259800562277580027181755895072*x46 + 0.251192064056939501348608700937*x47 + 0.167864227758007106272586383966*x48
    x39_dot = 11.6502082651401384083555967663*x2 - 11.1083828280582004310872434871*x1 + 6.89960295943889612146904255496*x3 + 10.7451850398914583450959980837*x4 - 14.1652147242329675691507873125*x5 - 24.2239593614368438068140676478*x6 + 58.5999510258338744961292832159*x7 + 1.04731991374549937567905999458*x8 - 23.4107195954134219562092766864*x9 + 194.708078988333653569497982971*x10 + 124.737269840159314071570406668*x11 - 874.489519278580587524629663676*x12 - 232.167612834229942109232069924*x13 - 36.5383385264273101711296476424*x14 - 982.436514738475466401723679155*x15 - 164.622018135433563656988553703*x16 + 658.461161737183715558785479516*x17 + 612.287968096828990383073687553*x18 + 81.8579199472278418170390068553*x19 + 340.625707439325765335524920374*x20 - 202.906835394329505106725264341*x21 + 81.1963376818728193029528483748*x22 - 56.0243321647830825327218917664*x23 - 15.279456961452833496650782763*x24 - 0.0117021496160775190925606992209*x25 + 0.0122729372755871288941387220461*x26 + 0.00726840154318596914917449680615*x27 + 0.0113195383185369716216861490921*x28 - 0.014922375946688123601879816249*x29 - 0.0255187825921826226538424720047*x30 + 0.0617322449907673764801785409873*x31 + 0.00110330144598724181996540760764*x32 - 0.0246620732563572718498701163981*x33 + 0.205115645247132161177461284751*x34 + 0.131404746496223245877388308145*x35 - 0.921232862165207944116218641284*x36 - 0.244577472883054203300901008333*x37 - 0.038491392040698534093845495363*x38 - 1.52966872474769566281338484259*x39 - 0.173421420200844084158475766344*x40 + 0.693657345750116838267729235668*x41 + 0.645016066524908171508911891578*x42 + 0.0862334056285309624723112165157*x43 + 0.358832890650182034786297435858*x44 - 0.213752645479509589820921178216*x45 + 0.0855364545202405707202686357959*x46 - 0.0590189537518958778905542317261*x47 - 0.0160961767667555377681054551431*x48
    x40_dot = 0.346772822769536581688498699805*x2 - 45.1603783093193342779159138445*x1 + 87.265909574845636598183773458*x3 - 58.9888295833629143771759117953*x4 + 81.8600468450564449085504747927*x5 - 393.992518986443371886707609519*x6 - 43.6167797572574400533085281495*x7 - 87.1050748811129409432396641932*x8 - 585.654070551494100982381496578*x9 - 95.7752714883952194213634356856*x10 - 55.6205486549790677486271306407*x11 - 175.404237348285931830105255358*x12 - 1550.15302718432849360397085547*x13 + 849.008588260345163689635228366*x14 - 150.236837248917595388775225729*x15 - 2830.97537085669728185166604817*x16 - 714.726453261409687911509536207*x17 - 306.411711264106770613580010831*x18 - 276.742039889275361019826959819*x19 + 1235.5631343601392018172191456*x20 - 213.255511391866036774445092306*x21 + 900.367023919369898976583499461*x22 - 708.017055859181027699378319085*x23 - 408.512804315423409207141958177*x24 - 0.0475742983888139750470180899811*x25 + 0.000365308581162609199814716998134*x26 + 0.0919304634821492133722742323698*x27 - 0.0621419100007097879867501433182*x28 + 0.0862356448292994626214635900396*x29 - 0.415052267726595314201176734059*x30 - 0.045948190787138909474407455491*x31 - 0.0917610263325999153671830299572*x32 - 0.616958549222798025013503320224*x33 - 0.100894669600397487996268353072*x34 - 0.0585935871956845891195264641738*x35 - 0.184779970189509590294818508482*x36 - 1.63301206615089822271613684279*x37 + 0.894389949606075762567058973218*x38 - 0.158267322024274292857626278419*x39 - 3.47701596990560046762652746111*x40 - 0.752930158279508932039902902034*x41 - 0.322790077365320504654278011003*x42 - 0.291534502093832081914825948843*x43 + 1.30160664348072985241344667884*x44 - 0.22465448222017178614429155914*x45 + 0.948493576549081063298274330009*x46 - 0.745862090992973292280510122509*x47 - 0.430348697565476667747930150654*x48
    x41_dot = 3.50587422812122984083771370933*x1 - 19.0015182056923883635590755148*x2 + 24.5852885229611786144232610241*x3 - 17.3408630846759912458310282091*x4 + 25.6996557598126251775738637662*x5 - 100.435850663638305491076607723*x6 - 121.826055788203589713702967856*x7 + 37.285895379373982905235607177*x8 - 153.776527787635785671227495186*x9 - 417.65495776847188835745328106*x10 + 181.103974732060521546372910962*x11 + 615.653481439420829701703041792*x12 - 480.914649726737252422026358545*x13 - 550.196003974732207097986247391*x14 + 663.429214280644600876257754862*x15 - 703.068535737099978177866432816*x16 - 2922.44552487756436676136218011*x17 - 629.581787209880189948307815939*x18 + 982.783377102704434946645051241*x19 - 72.5847185747746550532610854134*x20 + 517.719256157285940389556344599*x21 + 573.364475832209564032382331789*x22 - 34.1032429554972011942481913138*x23 - 92.2937185037973080170559114777*x24 + 0.00369327077862162010332691686187*x25 - 0.0200171907161615474091131972045*x26 + 0.0258994250833983995219167439927*x27 - 0.0182677698914046442169034634162*x28 + 0.0270733579388175195357124636075*x29 - 0.105804365107530717882156068299*x30 - 0.128337923202498427333040353915*x31 + 0.0392789069486833772315570456612*x32 - 0.161996216906806766999693536491*x33 - 0.439979515934416975930787430116*x34 + 0.190784370785719387120238366151*x35 + 0.648561494783164271815678603161*x36 - 0.506620576336148875640219557681*x37 - 0.579605167151678757342381231865*x38 + 0.698890943289090960099940730288*x39 - 0.740649087940946970753941513976*x40 - 3.57337539924764024945602614025*x41 - 0.663234296259493261160855581693*x42 + 1.0353152814252255531357604923*x43 - 0.0764645255163602932668709399877*x44 + 0.545392469302292681732069468126*x45 + 0.604012044857690444388254036312*x46 - 0.0359261352828447802498779140024*x47 - 0.097227013982539578496044896383*x48
    x42_dot = 11.6886323714240738524949847488*x2 - 6.54097088785665548016368120443*x1 + 14.4464819807551521080313250422*x3 - 16.8409220386246261114138178527*x4 + 27.2526336107703208710972830886*x5 - 50.505723230995648975749645615*x6 - 63.9499663927278376718277286272*x7 - 102.319707604238772091775899753*x8 - 140.126520760298944878741167486*x9 - 204.161754674409252174882567488*x10 - 309.407631224529097835329594091*x11 + 316.394751768442176853568525985*x12 + 287.2499881312607499239675235*x13 + 700.158041633038578765990678221*x14 + 615.107412090122465997410472482*x15 - 292.97075792519444803474470973*x16 - 628.325308399819164151267614216*x17 - 1965.69728218364821259456221014*x18 - 1181.82533713466159497329499573*x19 - 160.135147459715000195501488633*x20 + 504.084326767630102494877064601*x21 + 10.6839129858999388744678071816*x22 - 328.238485448925700893596513197*x23 - 67.7285981644682522073708241805*x24 - 0.00689060020839007449089397283615*x25 + 0.0123134152984300786898286261817*x26 + 0.0152186777724750196133518542752*x27 - 0.0177411059416157958212867384873*x28 + 0.0287093458200799109270029418894*x29 - 0.0532053635457296267285975943651*x30 - 0.0673682320076159912858315692574*x31 - 0.107788916346627156039872375004*x32 - 0.14761658849956649230961147623*x33 - 0.215074641876410205254543939191*x34 - 0.325946138411987662575342028504*x35 + 0.333306736946260839804523357088*x36 + 0.302604120076659544036346005669*x37 + 0.737582987474107443226500890887*x38 + 0.647986249753255250105610230094*x39 - 0.308630678567055893868342764108*x40 - 0.66191065462968279309308172742*x41 - 2.56548695563090456417398854683*x42 - 1.24499645187163787696249528381*x43 - 0.168694719785313251847469473432*x44 + 0.531028726096983927362771282787*x45 + 0.0112549911171856854147366178154*x46 - 0.345783542931103859974228953433*x47 - 0.0713488384876977410620213504444*x48
    x43_dot = 5.93830658262395250091003617854*x2 - 11.4112002079407375276787206531*x1 + 26.8337117421534898653590062167*x3 - 15.3591467931639495958506813622*x4 + 6.13459763467411889337199681904*x5 - 51.1364539606212247235816903412*x6 - 1.60716979660796699391767106135*x7 - 127.632243810514026449709490407*x8 - 64.6616635258951220066592213698*x9 + 76.0686659302099030810495605692*x10 - 444.215387614529902293725172058*x11 - 20.0623269868087632517017482314*x12 + 77.7994476574176445637931465171*x13 + 570.732100851257428075768984854*x14 + 84.5580349600364087336856755428*x15 - 263.819604912599913859594380483*x16 + 983.067580739489244479045737535*x17 - 1184.40860354798905973439104855*x18 - 2653.38137630775236175395548344*x19 + 240.050022743518127299466868863*x20 + 17.0288589252063182755136949709*x21 - 433.291233998310474362369859591*x22 - 721.564494119176060848985798657*x23 - 85.1712391968289210808507050388*x24 - 0.0120211534212749382444229695466*x25 + 0.00625572194424589122369040339322*x26 + 0.0282680317109623782667604530161*x27 - 0.0161801267138865431660654792267*x28 + 0.00646250516602768238644260989645*x29 - 0.0538698083046331849255139445631*x30 - 0.00169307648320228759999950263193*x31 - 0.134454460978621098687924018122*x32 - 0.0681179673792969009316067285909*x33 + 0.0801347001104685263683791163203*x34 - 0.467959659497043434228658043139*x35 - 0.0211347020599129270523874879473*x36 + 0.0819579959711482231021761890588*x37 + 0.601238962895574879929938560963*x38 + 0.0890778478133732037891334698543*x39 - 0.277921333419975324918738124325*x40 + 1.03561465982195088919581849041*x41 - 1.24771778543115230419857653033*x42 - 3.28992923516797741712025526795*x43 + 0.252881213854051600797845367197*x44 + 0.0179390883098317008292887919652*x45 - 0.45645158879719288647081043564*x46 - 0.760133666904932114860571346071*x47 - 0.0897238287088179958805866931471*x48
    x44_dot = 10.6611508220157276127793011256*x1 + 0.756293391383455859688922373607*x2 - 31.3702443303658462525618233485*x3 + 18.7569530183897619224353547907*x4 - 29.4139450256676866501948097721*x5 + 193.909259860939641839649993926*x6 - 34.3953557736045283377279702108*x7 + 32.9084306972512905531402793713*x8 + 271.894307622327687568031251431*x9 - 54.4287978426148555399777251296*x10 - 33.1576548183767698674273560755*x11 + 199.942848788095432155387243256*x12 + 354.878114237442389367060968652*x13 - 181.870160504256318745319731534*x14 + 333.882630450321698845073115081*x15 + 1248.28799792059271567268297076*x16 - 59.0839885632594743469780951273*x17 - 157.942614854766418375220382586*x18 + 239.255013321203477971721440554*x19 - 1528.86607316914705734234303236*x20 + 772.831178114237559384491760284*x21 - 858.918643186691838309343438596*x22 + 734.272402365325888240477070212*x23 + 372.630352849437940676580183208*x24 + 0.011231012411462733963096738421*x25 + 0.000796718890116316887442526883945*x26 - 0.0330470517902397911691458887162*x27 + 0.019759552927415689055345993097*x28 - 0.0309861842874780760159758585814*x29 + 0.204274130872701326078200168013*x30 - 0.0362338618493729322511676116392*x31 + 0.0346674572746767245545740365742*x32 + 0.28642764961985833771507259371*x33 - 0.0573381350315160243091838765395*x34 - 0.0349300032490740194890399550331*x35 + 0.210630229384625389243979043385*x36 + 0.373847118071349682200121833375*x37 - 0.191591513418675696289739107669*x38 + 0.351729378127233760498171477593*x39 + 1.31501169666645023603734898643*x40 - 0.0622421554357008369184889318149*x41 - 0.166384989278055783756826713216*x42 + 0.252043713041783135064832777061*x43 - 2.10530612775359049493317797896*x44 + 0.814140684904802292010117525933*x45 - 0.904829683540191109791805956775*x46 + 0.773520826564429220262297803856*x47 + 0.392548248749106504646175839886*x48
    x45_dot = 21.1449814707675933789232658455*x1 - 0.673621353988286819536313032586*x2 + 25.3394609852093992685695411637*x3 + 82.6641187606019087752429186366*x4 - 18.1427928675443617123619333142*x5 - 108.579163226220060778359766118*x6 + 131.042272475300649148266529664*x7 + 40.6754471403646746807680756319*x8 - 205.497726909328065403315122239*x9 + 125.370345056828526253411837388*x10 + 92.0378423065729265317713725381*x11 - 169.715032662595461943055852316*x12 - 294.360767963166495064797345549*x13 + 57.772371141508656933183374349*x14 - 200.480806721468326259127934463*x15 - 211.366073774944595697888871655*x16 + 512.504142406999449121940415353*x17 + 500.793480898018344760203035548*x18 + 15.0058999981337102269662864273*x19 + 785.701999906181072219624184072*x20 - 3685.60934113408893608720973134*x21 + 248.167858149861046967998845503*x22 - 125.373684202562060363561613485*x23 - 428.072869037392877089587273076*x24 + 0.0222752263128719006635147792394*x25 - 0.000709627887011782384693581171575*x26 + 0.0266939097916161216517139109783*x27 + 0.0870826963147835891865256030542*x28 - 0.0191125645194076508592839758194*x29 - 0.114382956637006108491227962531*x30 + 0.138046766198765935573788965485*x31 + 0.042849637561455156120615583859*x32 - 0.216482023340729551330596791558*x33 + 0.132071662506185238949996119118*x34 + 0.0969574632176956607843010260694*x35 - 0.178786669444244095128482285872*x36 - 0.310094989112468188974247595979*x37 + 0.0608604302655730497462194250602*x38 - 0.211196937468695500328408343194*x39 - 0.222664048144226883740870448491*x40 + 0.539898604973511275773034867598*x41 + 0.527561974696135194129453793721*x42 + 0.0158079976071136933668537238873*x43 + 0.827699474866371187609104254079*x44 - 4.37733199229474490010716181132*x45 + 0.261432967658204618022210752315*x46 - 0.132075178192856357295426050769*x47 - 0.450954289516040773833083221689*x48
    x46_dot = 30.4375205161582442769940826111*x1 - 10.3121138717527873751578226802*x2 - 14.5585137811987106459810092929*x3 + 71.320301092308568513544742018*x4 + 9.40739826815326196651767531876*x5 + 217.118642820759532696683891118*x6 + 3.40824217556171848997337292531*x7 - 22.6095251570547297603752667783*x8 + 366.850931009112059655308257788*x9 - 62.437410153375978438816673588*x10 - 17.3366212009734574905905901687*x11 + 170.525179693248077228417969309*x12 + 551.588114777293640145217068493*x13 - 246.565912049351993573509389535*x14 + 70.631082687192261460040754173*x15 + 918.768747523911997632239945233*x16 + 591.408512083309801710129249841*x17 + 17.7454604108891302871597872581*x18 - 424.268685267983471476327395067*x19 - 874.953421246250513831910211593*x20 + 255.267032656064287721164873801*x21 - 4294.37828965985590912168845534*x22 + 510.730573320504845469258725643*x23 + 1033.11341898239857073349412531*x24 + 0.0320644716735525511785986907398*x25 - 0.0108633188069500261768718374356*x26 - 0.015336697605976569100394435452*x27 + 0.0751325258928066119779032305814*x28 + 0.00991024393004697606857078540088*x29 + 0.22872410436357465401968624974*x30 + 0.0035904201143245233554535111864*x31 - 0.0238180530873280914272438479884*x32 + 0.386459907182070350195601804444*x33 - 0.0657748259663818030107407253126*x34 - 0.0182633012620974609363511120819*x35 + 0.179640121116079021224010148217*x36 + 0.58107170751032888311726765096*x37 - 0.259745395891108732389085389514*x38 + 0.0744064689569302190053079470999*x39 + 0.96787894051729028710440161376*x40 + 0.623020601052691191945598347957*x41 + 0.0186939934348293625154813213385*x42 - 0.446946765521534894460842224362*x43 - 0.921721546210877873406275284651*x44 + 0.268911607900843285801073534458*x45 - 5.01864095308166824338513833936*x46 + 0.538030228083083428280986026948*x47 + 1.08833555945441173840038118215*x48
    x47_dot = 11.8352385533986073085088719381*x3 - 37.4703095817533551326050655916*x2 - 18.0268600373535576864014728926*x1 - 25.980535966947762460677040508*x4 + 110.255764333012621136731468141*x5 - 133.089320278453783430450130254*x6 - 21.1133555945441173662402434275*x7 - 89.4276076744580876720647211187*x8 - 265.963948157790468940220307559*x9 + 11.4864995189314633705635060323*x10 - 31.5448808647914447078619559761*x11 - 88.7753070349199191468869685195*x12 - 389.129486671571726219553966075*x13 + 228.949340653121311106588109396*x14 - 47.0853489161808838048273173627*x15 - 703.447903107136880862526595592*x16 - 45.6393163167128861346100165974*x17 - 333.533691776557816410786472261*x18 - 724.091176637047965414240024984*x19 + 748.637104533363526570610702038*x20 - 119.884905767162834422379091848*x21 + 488.52793027336014120010077022*x22 - 3962.51491312468169780913740396*x23 - 875.810798573773354291915893555*x24 - 0.0189904346595732645419651873908*x25 - 0.0394731784481294964428421678804*x26 + 0.0124678578300979128745673563117*x27 - 0.0273692517969324790316765216858*x28 + 0.116149170864225492749710610951*x29 - 0.14020323164865017284697046307*x30 - 0.0222419101250778197820245907224*x31 - 0.0942077084158696037574642900836*x32 - 0.280180298828456630921834857872*x33 + 0.0121004776727602018221441326773*x34 - 0.0332310226951157416941384781239*x35 - 0.0935205387967626977641089069948*x36 - 0.409929299903786292791352252607*x37 + 0.241187175278736759542752565721*x38 - 0.0496021625445695890643804659703*x39 - 0.741048729413096407547811850236*x40 - 0.0480788363801007423425915021653*x41 - 0.351361786179183899214706343628*x42 - 0.762795404380553598855385644129*x43 + 0.78865340426736096901549899485*x44 - 0.126293016016752523977828559509*x45 + 0.5146408059312921334793600181*x46 - 4.66903876846454224391891330015*x47 - 0.922624766540268370640376360825*x48
    x48_dot = 12.7084610330938190259075781796*x1 + 4.86691933567440315755447954871*x2 - 6.43559588073118149509355134796*x3 + 9.49628650199741208837167505408*x4 + 3.55367994578690105100804430549*x5 - 74.3522726144416026272665476426*x6 + 13.5367551904574341392617498059*x7 - 16.2211943264899502992193447426*x8 - 158.431125699590580779840820469*x9 + 2.60775068593802217264965292998*x10 - 31.9341780824184731102377554635*x11 - 48.0945692573996907981381809805*x12 - 252.144842970665990833367686719*x13 + 158.721437176682400149729801342*x14 - 25.2361703641677230791628971929*x15 - 416.392057019735773337743012235*x16 - 103.090787910280297978715680074*x17 - 75.1079835242486097968139802106*x18 - 90.1181567546278046165753039531*x19 + 375.82224441568666861712699756*x20 - 425.248600818822978908428922296*x21 + 1006.80803829999899789982009679*x22 - 878.110964748246601629944052547*x23 - 4455.56999877540602028602734208*x24 + 0.0133877556339589802447687105769*x25 + 0.00512706650206360553534423729616*x26 - 0.00677959255777931500686062094019*x27 + 0.0100038835345087218781090498965*x28 + 0.00374363182255966521483347975163*x29 - 0.0783265635911710028649324044636*x30 + 0.0142603242360354928036647592648*x31 - 0.0170882522563968464179851025619*x32 - 0.166899613921976802677349382975*x33 + 0.00274714061481228953229272171654*x34 - 0.0336411290589492956160100334273*x35 - 0.0506653267845145124925743118638*x36 - 0.265622532195233351792751363973*x37 + 0.167205439678825451554899927942*x38 - 0.026585098099893757911393876725*x39 - 0.438649132358733206960010875264*x40 - 0.108601211851420367815457268534*x41 - 0.0791226695483234626626867225241*x42 - 0.0949351668591816438835806479801*x43 + 0.395910754415984555976137926336*x44 - 0.447979047861759849258334043043*x45 + 1.06062409603463292384617489006*x46 - 0.925047908095888993251776355464*x47 - 5.18844885334992600434134146781*x48
    dydt = [x1_dot,x2_dot,x3_dot,x4_dot,x5_dot,x6_dot,x7_dot,x8_dot,x9_dot,x10_dot,x11_dot,x12_dot,x13_dot,x14_dot,x15_dot,x16_dot,x17_dot,x18_dot,x19_dot,x20_dot,x21_dot,x22_dot,x23_dot,x24_dot,x25_dot,x26_dot,x27_dot,x28_dot,x29_dot,x30_dot,x31_dot,x32_dot,x33_dot,x34_dot,x35_dot,x36_dot,x37_dot,x38_dot,x39_dot,x40_dot,x41_dot,x42_dot,x43_dot,x44_dot,x45_dot,x46_dot,x47_dot,x48_dot]
    return dydt

def TC_Simulate(Mode,initialCondition,time_bound):
    time_step = 0.005;
    time_bound = float(time_bound)

    number_points = int(np.ceil(time_bound/time_step))
    t = [i*time_step for i in range(0,number_points)]
    if t[-1] != time_step:
        t.append(time_bound)
    newt = []
    for step in t:
        newt.append(float(format(step, '.3f')))
    t = newt

    sol = odeint(BM15_dynamic, initialCondition, t, hmax=time_step)

    # Construct the final output
    trace = []
    for j in range(len(t)):
        #print t[j], current_psi
        tmp = []
        tmp.append(t[j])
        tmp.append(float(sol[j,0]))
        tmp.append(float(sol[j,1]))
        tmp.append(float(sol[j,2]))
        tmp.append(float(sol[j,3]))
        tmp.append(float(sol[j,4]))
        tmp.append(float(sol[j,5]))
        tmp.append(float(sol[j,6]))
        tmp.append(float(sol[j,7]))
        tmp.append(float(sol[j,8]))
        tmp.append(float(sol[j,9]))
        tmp.append(float(sol[j,10]))
        tmp.append(float(sol[j,11]))
        tmp.append(float(sol[j,12]))
        tmp.append(float(sol[j,13]))
        tmp.append(float(sol[j,14]))
        tmp.append(float(sol[j,15]))
        tmp.append(float(sol[j,16]))
        tmp.append(float(sol[j,17]))
        tmp.append(float(sol[j,18]))
        tmp.append(float(sol[j,19]))
        tmp.append(float(sol[j,20]))
        tmp.append(float(sol[j,21]))
        tmp.append(float(sol[j,22]))
        tmp.append(float(sol[j,23]))
        tmp.append(float(sol[j,24]))
        tmp.append(float(sol[j,25]))
        tmp.append(float(sol[j,26]))
        tmp.append(float(sol[j,27]))
        tmp.append(float(sol[j,28]))
        tmp.append(float(sol[j,29]))
        tmp.append(float(sol[j,30]))
        tmp.append(float(sol[j,31]))
        tmp.append(float(sol[j,32]))
        tmp.append(float(sol[j,33]))
        tmp.append(float(sol[j,34]))
        tmp.append(float(sol[j,35]))
        tmp.append(float(sol[j,36]))
        tmp.append(float(sol[j,37]))
        tmp.append(float(sol[j,38]))
        tmp.append(float(sol[j,39]))
        tmp.append(float(sol[j,40]))
        tmp.append(float(sol[j,41]))
        tmp.append(float(sol[j,42]))
        tmp.append(float(sol[j,43]))
        tmp.append(float(sol[j,44]))
        tmp.append(float(sol[j,45]))
        tmp.append(float(sol[j,46]))
        tmp.append(float(sol[j,47]))
        trace.append(tmp)
    return trace

if __name__ == "__main__":

    sol = TC_Simulate("Default", [0.0002, 0.0002, 0.0002, 0.0002, 0.0002, 0.0002, 0.0002, 0.0002, 0.0002, 0.0002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], 10.0)
    for s in sol:
li213's avatar
li213 committed
138
        print(s)
navidmokh's avatar
navidmokh committed
139
140
141
142
143
144
145
146
147
148
149
150

    # time = [row[0] for row in sol]

    # a = [row[1] for row in sol]

    # b = [row[2] for row in sol]

    # plt.plot(time, a, "-r")
    # plt.plot(time, b, "-g")
    # plt.show()
    # plt.plot(a, b, "-r")
    # plt.show()