Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

TestProblem4.h

Go to the documentation of this file.
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.