]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Make all ARKODE implicit test functions linear.
authorDavid Wells <drwells@email.unc.edu>
Tue, 7 Jun 2022 19:24:07 +0000 (15:24 -0400)
committerDavid Wells <drwells@email.unc.edu>
Wed, 8 Jun 2022 17:06:24 +0000 (13:06 -0400)
Forcing functions don't effect stability so they should always be in the
explicit part.

tests/sundials/arkode_03.cc
tests/sundials/arkode_04.cc
tests/sundials/arkode_05.cc
tests/sundials/arkode_06.cc
tests/sundials/arkode_07.cc

index 9fbdccae8a4a972e523f627078ae0f4984c24ad0..b6a54046b0e579b3376dad931ccaf4e18c9ba949 100644 (file)
@@ -76,7 +76,7 @@ main()
     [&](double, const VectorType &y, VectorType &ydot) -> int {
     ydot[0] = 0;
     ydot[1] = 0;
-    ydot[2] = (b - y[2]) / eps;
+    ydot[2] = -y[2] / eps;
     return 0;
   };
 
@@ -85,7 +85,7 @@ main()
     [&](double, const VectorType &y, VectorType &ydot) -> int {
     ydot[0] = a - (y[2] + 1) * y[0] + y[1] * y[0] * y[0];
     ydot[1] = y[2] * y[0] - y[1] * y[0] * y[0];
-    ydot[2] = -y[2] * y[0];
+    ydot[2] = b / eps - y[2] * y[0];
     return 0;
   };
 
index 4b2d0b48916737298c20cf970ddce429ada49279..1f5a284e1dd1e2b491341f540a292f94ccf1f0d6 100644 (file)
@@ -79,7 +79,7 @@ main()
     [&](double, const VectorType &y, VectorType &ydot) -> int {
     ydot[0] = 0;
     ydot[1] = 0;
-    ydot[2] = (b - y[2]) / eps;
+    ydot[2] = -y[2] / eps;
     return 0;
   };
 
@@ -88,7 +88,7 @@ main()
     [&](double, const VectorType &y, VectorType &ydot) -> int {
     ydot[0] = a - (y[2] + 1) * y[0] + y[1] * y[0] * y[0];
     ydot[1] = y[2] * y[0] - y[1] * y[0] * y[0];
-    ydot[2] = -y[2] * y[0];
+    ydot[2] = b / eps - y[2] * y[0];
     return 0;
   };
 
index 526eb7fc22b26d683417155ca822598003449c69..40d320f6d8c1af07498420889ff4ab941763b8f4 100644 (file)
@@ -78,7 +78,7 @@ main()
     [&](double, const VectorType &y, VectorType &ydot) -> int {
     ydot[0] = 0;
     ydot[1] = 0;
-    ydot[2] = (b - y[2]) / eps;
+    ydot[2] = -y[2] / eps;
     return 0;
   };
 
@@ -87,7 +87,7 @@ main()
     [&](double, const VectorType &y, VectorType &ydot) -> int {
     ydot[0] = a - (y[2] + 1) * y[0] + y[1] * y[0] * y[0];
     ydot[1] = y[2] * y[0] - y[1] * y[0] * y[0];
-    ydot[2] = -y[2] * y[0];
+    ydot[2] = b / eps - y[2] * y[0];
     return 0;
   };
 
index ba1a619afca6602b68da9337ca9414464ab0283f..35908ec72c2b8a8f9fc8a6fbfcf48a8842aa46da 100644 (file)
@@ -85,7 +85,7 @@ main()
     [&](double, const VectorType &y, VectorType &ydot) -> int {
     ydot[0] = 0;
     ydot[1] = 0;
-    ydot[2] = (b - y[2]) / eps;
+    ydot[2] = -y[2] / eps;
     return 0;
   };
 
@@ -94,7 +94,7 @@ main()
     [&](double, const VectorType &y, VectorType &ydot) -> int {
     ydot[0] = a - (y[2] + 1) * y[0] + y[1] * y[0] * y[0];
     ydot[1] = y[2] * y[0] - y[1] * y[0] * y[0];
-    ydot[2] = -y[2] * y[0];
+    ydot[2] = b / eps - y[2] * y[0];
     return 0;
   };
 
index 57779f7bab58c16d6e66984a4ba49a8e43df0854..b9cd3ad97a96864b6f51993b4462c9e8ca267abb 100644 (file)
@@ -85,7 +85,7 @@ main()
     [&](double, const VectorType &y, VectorType &ydot) -> int {
     ydot[0] = 0;
     ydot[1] = 0;
-    ydot[2] = (b - y[2]) / eps;
+    ydot[2] = -y[2] / eps;
     return 0;
   };
 
@@ -94,7 +94,7 @@ main()
     [&](double, const VectorType &y, VectorType &ydot) -> int {
     ydot[0] = a - (y[2] + 1) * y[0] + y[1] * y[0] * y[0];
     ydot[1] = y[2] * y[0] - y[1] * y[0] * y[0];
-    ydot[2] = -y[2] * y[0];
+    ydot[2] = b / eps - y[2] * y[0];
     return 0;
   };
 

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.