TransWikia.com

Why the following set of ODEs is not integrated?

Mathematica Asked on October 6, 2021

Consider the following dataset:

    Data1 = {{0.04000000000000001, 3.6730181515774437*^-19, 
  0.0011366457254822827, 60968.11540339052, 2.1236323916037964*^-14, 
  0.000024533464278266223, 
     6.05793658772411*^-10}, {0.04286077220950427, 
  3.5735320748337414*^-18, 0.0011367866249206487, 74019.86038013306, 
  9.44320381587328*^-13, 
     0.000029966921646068634, 
  6.061648458859923*^-10}, {0.045926144859875326, 
  3.255424981728174*^-17, 0.0011369527269621297, 90053.88090726305, 
     3.286154294358077*^-11, 0.00003658039668686287, 
  6.070080518990282*^-10}, {0.049210750832495286, 
  2.5341104165796417*^-16, 0.0011371790768826945, 
     109594.1604424725, 9.081851407892915*^-10, 
  0.00004461671001039301, 6.085482546231459*^-10}, 
   {0.05273026954225631, 1.7149288047460928*^-15, 
  0.00113750204533264, 133531.87119944708, 2.0260455365402744*^-8, 
  0.00005562012741315951, 
     6.109252168769861*^-10}, {0.056501501784910174, 
  1.050519972446482*^-14, 0.001137926591272428, 163230.9619786704, 
  3.7090463605171533*^-7, 
     0.00006760933834508163, 
  6.144275485232054*^-10}, {0.06054244993744833, 
  5.785126177289693*^-14, 0.0011385002529520187, 199962.7324694581, 
     5.640895974410171*^-6, 0.00008210446936595845, 
  6.198175525381558*^-10}, {0.06487240389435721, 
  2.859704227057019*^-13, 0.001139310302677116, 
     246401.4495066501, 0.00007243730639484008, 
  0.0000996480849338258, 6.276535512220924*^-10}, 
   {0.06951203314997503, 1.2815620129762066*^-12, 
  0.0011405130800622618, 304616.8073825221, 0.0007925881290266281, 
  0.00012307121962089226, 
     6.380388322973216*^-10}, {0.07448348546651472, 
  5.269337715555936*^-12, 0.0011422281493432716, 379248.5567463476, 
  0.0074986358256308484, 
     0.00014928353005425407, 
  6.520750615794034*^-10}, {0.07981049259875521, 
  2.0074747616321736*^-11, 0.0011447257370502235, 474876.1413831532, 
     0.0618888614669688, 0.00018435323587895211, 
  6.700559990103894*^-10}, {0.08551848358008932, 
  7.05124504406454*^-11, 0.0011484669669138883, 
     598564.5009744188, 0.4502465359405161, 0.00022438799313786295, 
  6.925085322975094*^-10}, {0.09163470611071092, 
  2.3000740431526548*^-10, 
     0.0011540447823168796, 760828.7492393866, 2.9182068721657934, 
  0.0002785357086817402, 7.197104737969417*^-10}, 
   {0.09818835662740127, 7.024316848540299*^-10, 
  0.001162170287551631, 972405.9236193274, 16.94107794443051, 
  0.0003412477750141644, 
     7.520866142933496*^-10}, {0.10521071967581529, 
  2.0151537395464318*^-9, 0.0011739104100202753, 
  1.247297115624304*^6, 88.60424433247508, 
     0.0004271343315385529, 
  7.89111870149623*^-10}, {0.11273531725057817, 
  5.392959664617988*^-9, 0.0011917089463320113, 1.610428841403897*^6, 
     421.76716793957445, 0.0005373848560522533, 
  8.311068757370129*^-10}, {0.12079806881608067, 
  1.3662948531145418*^-8, 0.0012170983752536689, 
     2.088091105249584*^6, 1835.2807668292667, 0.0006794866268582713, 
  8.777148336817495*^-10}, 
   {0.12943746277185134, 3.26800243113598*^-8, 0.0012539678437698998, 
  2.7100656444720207*^6, 7322.4230773758245, 0.0008439764753236527, 
     9.2792356664838*^-10}, {0.13869474018101272, 
  7.424990724058318*^-8, 0.0013074352824174532, 
  3.5319312976799784*^6, 27030.38887883136, 
     0.00107442884253638, 
  9.813608946416635*^-10}, {0.14861409163886904, 
  1.6118549524558457*^-7, 0.0013834701962826016, 4.601653981863014*^6, 
     92413.4995937878, 0.001372210710456111, 
  1.0374440262624992*^-9}, {0.15924286822139894, 
  3.359117261965592*^-7, 0.001490640368191695, 
     6.003178262294154*^6, 294588.19867804437, 0.0017135443780015402, 
  1.0953659562222803*^-9}, 
   {0.1706318075206371, 6.768144438289502*^-7, 0.0016418145327914294, 
  7.818396651581257*^6, 877127.4857127845, 0.002195205293756092, 
     1.1534507078566864*^-9}, {0.18283527584595002, 
  1.3253825227723483*^-6, 0.0018530825010397774, 
  1.019158194753562*^7, 2.456545832150365*^6, 
     0.0028160341031557017, 
  1.2118127587928474*^-9}, {0.1959115277473785, 
  2.541882634404852*^-6, 0.00214520506148593, 1.3264692068722617*^7, 
     6.482556887839657*^6, 0.003519077495772852, 
  1.2698477884419106*^-9}, {0.2099229840999091, 
  4.7973894775465834*^-6, 0.0025485871023961408, 
     1.7206929419349123*^7, 1.6151997002525678*^7, 
  0.004514855063665674, 1.3254573346580083*^-9}, 
   {0.2249365300761397, 8.938280979270732*^-6, 0.0031021976669112004, 
  2.23159353128588*^7, 3.825493075573033*^7, 0.0057928643041654975, 
     1.3796925661487545*^-9}, {0.24102383442974318, 
  0.000016491104414852177, 0.0038603290769480118, 
  2.8896676575433616*^7, 8.629961187526782*^7, 
     0.007222131323891681, 
  1.431134731390959*^-9}, {0.25826169161386225, 
  0.00003013498762673002, 0.004891523184322172, 3.732919279303819*^7, 
     1.8586729491043442*^8, 0.009252005938239705, 
  1.4797712109910823*^-9}, {0.27673238836757463, 
  0.00005453864812818399, 0.00629183641986388, 
     4.820132037437235*^7, 3.840485105566199*^8, 
  0.011509316021565116, 1.5253491942476746*^-9}, 
   {0.2965240965203671, 0.00009761820733772267, 0.008186960442081337, 
  6.211483068339884*^7, 7.62191350054374*^8, 0.014713128474094301, 
     1.567646943405622*^-9}, {0.3177312938897126, 
  0.00017278324797833004, 0.010754393209756815, 7.995070777156478*^7, 
  1.4578452750520904*^9, 
     0.018257113197046024, 
  1.6064948687755004*^-9}, {0.34045521528095063, 
  0.00030185339768827715, 0.014218998372583154, 1.0280561154606108*^8, 
     2.694270360773067*^9, 0.023286894279490714, 
  1.6425896937056255*^-9}, {0.364804335742364, 0.0005209611648465304, 
  0.018911113696050464, 
     1.3198929410199991*^8, 4.819255315060689*^9, 
  0.028823919766414487, 1.6745715437867294*^-9}, 
   {0.3908948883823244, 0.0008861421412744314, 0.025231897306304558, 
  1.6937248053716332*^8, 8.369218172915381*^9, 0.035646186421712, 
     1.704347805240533*^-9}, {0.41885141922035996, 
  0.0014879128934780943, 0.03377408680912669, 2.170856889094142*^8, 
  1.412863001652607*^10, 
     0.045300933483077885, 
  1.7306844074866155*^-9}, {0.44880738172078555, 
  0.002466286434495853, 0.04531709865432165, 2.779592325864481*^8, 
     2.3232109573694702*^10, 0.05589725905096408, 
  1.7541752035026805*^-9}, {0.48090577384696537, 
  0.004035550166444166, 0.06090375420869664, 
     3.557989441565829*^8, 3.729891184286874*^10, 0.068922502945096, 
  1.7758023178809883*^-9}, 
   {0.5152998206772536, 0.0065283544138783406, 0.08200914283817416, 
  4.551490366083445*^8, 5.8540824576103294*^10, 0.08732573942051954, 
     1.7944955878185098*^-9}, {0.552153705841154, 
  0.010447781138129195, 0.11062036290904508, 5.814525939360955*^8, 
  8.98880028939501*^10, 
     0.107473843263601, 1.810895200404476*^-9}, {0.5916433552672831, 
  0.01653890680422021, 0.14935730557017074, 7.429912935755776*^8, 
     1.3543097497648143*^11, 0.13219796597640998, 
  1.8258944804728217*^-9}, {0.6339572769844455, 0.025937307600763675, 
  0.20196184017845184, 
     9.485638471332476*^8, 2.0024824008527032*^11, 
  0.16711888122276794, 1.8392419060443485*^-9}, 
   {0.6792974609846979, 0.04034700409506356, 0.2736029058694903, 
  1.2102237755567687*^9, 2.909885449151632*^11, 0.2052666582315007, 
     1.8501160265376655*^-9}, {0.7278803434439935, 
  0.06223137927350765, 0.37105306369630586, 1.542952475743961*^9, 
  4.160021805634737*^11, 
     0.25202295914652556, 
  1.8600321208203338*^-9}, {0.7799378399032184, 0.09523449582533373, 
  0.5037214290466892, 1.967536927419406*^9, 
     5.862404551266245*^11, 0.30932363965331905, 
  1.8691156000495226*^-9}, {0.8357184523416157, 0.14480564158746242, 
  0.6849656687466679, 
     2.505864555324614*^9, 8.139905161351083*^11, 
  0.39012767685654065, 1.876773077518704*^-9}, 
   {0.8954884554273358, 0.21895982027010316, 0.933214460922383, 
  3.724151664300324*^8, 1.3022394818294788*^11, 0.4783452882352051, 
     1.8829132235127783*^-9}, {0.9595331676077962, 
  0.32904532742184267, 1.272684547155989, 0., 0., 0.5863801024968948, 
  1.8885541302790296*^-9}, 
   {1.0281583131075456, 0.491691526418462, 1.737372694863958, 0., 0., 
  0.7186826843829303, 1.893783649743893*^-9}, 
   {1.1016914813352667, 0.7314024765782356, 2.375371032564205, 0., 
  0., 0.9051296290287619, 1.89819938884556*^-9}, 
   {1.1804836906665546, 1.084143824031097, 3.2543622222297746, 0., 
  0., 1.1085674226849835, 1.901325085222587*^-9}, 
   {1.264911064067352, 1.5998883370347974, 4.462773587712801, 0., 0., 
  1.3575721723418253, 1.904266253623223*^-9}, 
   {1.3553766245568106, 2.3514114854853303, 6.125519165240608, 0., 
  0., 1.6623947188858716, 1.9070847187327836*^-9}, 
   {1.4523122190804059, 3.443728902375022, 8.416725997772431, 0., 0., 
  2.0354856022589813, 1.9098278742932196*^-9}, 
   {1.5561805799771222, 5.032516360409247, 11.588651462598817, 0., 
  0., 2.560427181523345, 1.91113941530246*^-9}, 
   {1.6674775338813417, 7.33214391965452, 15.971903907103549, 0., 0., 
  3.1336127451840485, 1.912418218615513*^-9}, 
   {1.7867343686038526, 10.650675858898598, 22.029553714476762, 0., 
  0., 3.8350032698731886, 1.9137576280470963*^-9}, 
   {1.9145203692905537, 15.42848919710927, 30.406219045113726, 0., 
  0., 4.693382379212429, 1.9151902699813277*^-9}, 
   {2.0514455359654598, 22.307933788089844, 42.025296542578594, 0., 
  0., 5.901791123092204, 1.916091945714172*^-9}, 
   {2.198163495430499, 32.2024768282308, 58.16590582996733, 0., 0., 
  7.220190907338247, 1.9163661828847035*^-9}, 
   {2.3553746214223565, 46.38277596899167, 80.55347510295799, 0., 0., 
  8.833153973418863, 1.916815241910244*^-9}, 
   {2.5238293779207726, 66.66321598076935, 111.60824528756592, 0., 
  0., 10.806958855072507, 1.917460271190991*^-9}, 
   {2.704331901567927, 95.63932394751524, 154.73396954520854, 0., 0., 
  13.22196478822141, 1.9183224443280263*^-9}, 
   {2.89774384029996, 137.07433730712353, 214.81009502241022, 0., 0., 
  16.619302561317976, 1.9181898557929484*^-9}, 
   {3.104988466514767, 196.1806402623078, 298.4252892891094, 0., 0., 
  20.32801520638921, 1.918113460817766*^-9}, 
   {3.3270550844106843, 280.2875974453487, 414.6818354793054, 0., 0., 
  24.86543724283311, 1.918293258915911*^-9}, 
   {3.5650037525349827, 399.7939118353185, 576.321713145112, 0., 0., 
  30.417780148740146, 1.9187389207216093*^-9}, 
   {3.819970344085745, 569.6278736669964, 801.4852301693955, 0., 0., 
  38.23525046862454, 1.9191330343923305*^-9}, 
   {4.0931719691230155, 811.0975018471803, 1115.8267571796891, 0., 
  0., 46.762378621512134, 1.918730838682514*^-9}, 
   {4.385912784572741, 1153.3316551215432, 1553.6000912931834, 0., 
  0., 57.19531021750488, 1.9186088593139887*^-9}, 
   {4.699590219758118, 1637.6511861862862, 2162.97753372881, 0., 0., 
  69.95978712026677, 1.918774068782407*^-9}, 
   {5.035701647176671, 2322.235219808318, 3011.0662706314047, 0., 0., 
  85.57904613887125, 1.9192315658181652*^-9}, 
   {5.395851530366614, 3291.2413919769583, 4195.0990748257955, 0., 
  0., 107.56017693667187, 1.9191750141203098*^-9}};

I interpolate them:

jacobian[T_] = 
  Interpolation[Data1[[All, {1, 6}]], InterpolationOrder -> 1][T];
[CapitalGamma]pn[T_] = 
  Interpolation[Data1[[All, {1, 2}]], InterpolationOrder -> 1][T];
[CapitalGamma]np[T_] = 
  Interpolation[Data1[[All, {1, 3}]], InterpolationOrder -> 1][T];
[CapitalGamma]npTod[Gamma][T_] = 
  Interpolation[Data1[[All, {1, 4}]], InterpolationOrder -> 1][T];
[CapitalGamma]d[Gamma]Tonp[T_] = 
  Interpolation[Data1[[All, {1, 5}]], InterpolationOrder -> 1][T];
[Eta]Bv[T_] = 
  Interpolation[Data1[[All, {1, 7}]], InterpolationOrder -> 1][T];

Then I want to solve a set of differential equations:

XdDynamics[Xn_, Xd_, T_] = 
  Xn*(1 - Xn - Xd)*[CapitalGamma]npTod[Gamma][T] - 
   Xd*[Eta]Bv[T]^-1*[CapitalGamma]d[Gamma]Tonp[T];
XnDynamics[Xn_, Xd_, T_] = (1 - Xn - Xd) [CapitalGamma]pn[T] - 
   Xn*[CapitalGamma]np[T] - XdDynamics[Xn, Xd, T];
    sol = NDSolve[{D[Xn[T], T]*
         jacobian[T] == -XnDynamics[Xn[T], Xd[T], T], 
       D[Xd[T], T]*jacobian[T] == -XdDynamics[Xn[T], Xd[T], T], 
       Xd[4.9] == 0, Xn[4.9] == 0.5}, {Xn, Xd}, {T, 0.04, 4.9}]
    f = Xn /. sol[[1]]

However, Mathematica says

NDSolve::nderr: Error test failure at T == 0.841822; unable to continue

The point 0.8418… is the maximal point when the functions [CapitalGamma]npTod[Gamma], [CapitalGamma]npTod[Gamma] are non-zero.

Could you please tell me how to avoid this error?

P.S. Changing the method to StiffnessSwitching removes the error. However, the solution behaves badly, so this, unfortunately, does not help.

P.P.S. It seems that decreasing MaxStepSize matters. I’ve set MaxStepSize -> 0.5*10^-4, and the solution has been obtained. However, it now requires much more time for solving. This will increase the solving time after increasing the number of equations. Is there any alternative method of getting the solution without spending such an amount of time?

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP