![]() |
00001 // Copyright (C) 2004 Johan Hoffman and Anders Logg. 00002 // Licensed under the GNU GPL Version 2. 00003 00004 #include <dolfin.h> 00005 00006 using namespace dolfin; 00007 00008 class TestProblem4 : public ODE 00009 { 00010 public: 00011 00012 TestProblem4() : ODE(8) 00013 { 00014 dolfin_info("The HIRES problem."); 00015 00016 // Final time 00017 T = 321.8122; 00018 00019 // Compute sparsity 00020 sparse(); 00021 } 00022 00023 real u0(unsigned int i) 00024 { 00025 switch (i) { 00026 case 0: 00027 return 1.0; 00028 case 1: 00029 return 0.0; 00030 case 2: 00031 return 0.0; 00032 case 3: 00033 return 0.0; 00034 case 4: 00035 return 0.0; 00036 case 5: 00037 return 0.0; 00038 case 6: 00039 return 0.0; 00040 default: 00041 return 0.0057; 00042 } 00043 } 00044 00045 real f(const Vector& u, real t, unsigned int i) 00046 { 00047 switch (i) { 00048 case 0: 00049 return -1.71*u(0) + 0.43*u(1) + 8.32*u(2) + 0.0007; 00050 case 1: 00051 return 1.71*u(0) - 8.75*u(1); 00052 case 2: 00053 return -10.03*u(2) + 0.43*u(3) + 0.035*u(4); 00054 case 3: 00055 return 8.32*u(1) + 1.71*u(2) - 1.12*u(3); 00056 case 4: 00057 return -1.745*u(4) + 0.43*u(5) + 0.43*u(6); 00058 case 5: 00059 return -280.0*u(5)*u(7) + 0.69*u(3) + 1.71*u(4) - 0.43*u(5) + 0.69*u(6); 00060 case 6: 00061 return 280.0*u(5)*u(7) - 1.81*u(6); 00062 default: 00063 return -280.0*u(5)*u(7) + 1.81*u(6); 00064 } 00065 } 00066 00067 };
Documentation automatically generated with Doxygen on 10 Sep 2004.