Go to the documentation of this file.    1 #include <libmesh/equation_systems.h> 
    2 #include <libmesh/mesh.h> 
    3 #include <libmesh/mesh_generation.h> 
    4 #include <libmesh/quadrature.h> 
    5 #include <libmesh/diff_solver.h> 
    6 #include <libmesh/euler_solver.h> 
    7 #include <libmesh/euler2_solver.h> 
   17                         const std::string & name_in,
 
   18                         const unsigned int number_in)
 
   22   virtual Number F( FEMContext & , 
unsigned int  )
 
   25   virtual Number M( FEMContext & , 
unsigned int  )
 
   26   { 
return Real(21)/10; }
 
   29   { 
return Real(50)/21*t; }
 
   37                           const std::string & name_in,
 
   38                           const unsigned int number_in)
 
   42   virtual Number F( FEMContext & context, 
unsigned int  )
 
   43   { 
return 2.0*context.get_time(); }
 
   45   virtual Number M( FEMContext & , 
unsigned int  )
 
   49   { 
return 1/
Real(5)*t*t; }
 
   52 template<
typename TimeSolverType>
 
   64   { time_solver.theta = 
_theta; }
 
   78 #ifdef LIBMESH_HAVE_SOLVER 
   90     this->run_test_with_exact_soln<ConstantFirstOrderODE>(0.5,10);
 
   93     this->run_test_with_exact_soln<ConstantFirstOrderODE>(0.5,10);
 
  100     this->run_test_with_exact_soln<LinearTimeFirstOrderODE>(0.5,10);
 
  111 #ifdef LIBMESH_HAVE_SOLVER 
  122     this->run_test_with_exact_soln<ConstantFirstOrderODE>(0.5,10);
 
  125     this->run_test_with_exact_soln<ConstantFirstOrderODE>(0.5,10);
 
  132     this->run_test_with_exact_soln<LinearTimeFirstOrderODE>(0.5,10);
 
 
CPPUNIT_TEST_SUITE(Euler2SolverTest)
 
virtual Number F(FEMContext &, unsigned int)
 
void testEulerSolverLinearTimeFirstOrderODE()
 
virtual Number M(FEMContext &, unsigned int)
 
FEMSystem-based class for testing of TimeSolvers using first order SCALARs.
 
CPPUNIT_TEST_SUITE(EulerSolverTest)
 
CPPUNIT_TEST_SUITE_REGISTRATION(EulerSolverTest)
 
LinearTimeFirstOrderODE(EquationSystems &es, const std::string &name_in, const unsigned int number_in)
 
void testEuler2SolverLinearTimeFirstOrderODE()
 
void testEuler2SolverConstantFirstOrderODE()
 
CPPUNIT_TEST(testEuler2SolverConstantFirstOrderODE)
 
virtual Number u(Real t)
Exact solution as a function of time t.
 
virtual Number F(FEMContext &context, unsigned int)
 
ConstantFirstOrderODE(EquationSystems &es, const std::string &name_in, const unsigned int number_in)
 
void testEulerSolverConstantFirstOrderODE()
 
virtual Number M(FEMContext &, unsigned int)
 
virtual Number u(Real t)
Exact solution as a function of time t.
 
virtual void aux_time_solver_init(TimeSolverType &time_solver)
 
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
 
CPPUNIT_TEST(testEulerSolverConstantFirstOrderODE)
 
void set_theta(Real theta)