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 92 this->run_test_with_exact_soln<ConstantFirstOrderODE>(0.5,10);
95 this->run_test_with_exact_soln<ConstantFirstOrderODE>(0.5,10);
104 this->run_test_with_exact_soln<LinearTimeFirstOrderODE>(0.5,10);
115 #ifdef LIBMESH_HAVE_SOLVER 128 this->run_test_with_exact_soln<ConstantFirstOrderODE>(0.5,10);
131 this->run_test_with_exact_soln<ConstantFirstOrderODE>(0.5,10);
140 this->run_test_with_exact_soln<LinearTimeFirstOrderODE>(0.5,10);
LIBMESH_CPPUNIT_TEST_SUITE(EulerSolverTest)
void testEulerSolverConstantFirstOrderODE()
CPPUNIT_TEST(testEulerSolverConstantFirstOrderODE)
LIBMESH_CPPUNIT_TEST_SUITE(Euler2SolverTest)
virtual Number M(FEMContext &, unsigned int)
void set_theta(Real theta)
CPPUNIT_TEST_SUITE_REGISTRATION(EulerSolverTest)
virtual Number F(FEMContext &context, unsigned int)
void testEulerSolverLinearTimeFirstOrderODE()
virtual Number u(Real t)
Exact solution as a function of time t.
virtual Number F(FEMContext &, unsigned int)
LinearTimeFirstOrderODE(EquationSystems &es, const std::string &name_in, const unsigned int number_in)
FEMSystem-based class for testing of TimeSolvers using first order SCALARs.
virtual Number M(FEMContext &, unsigned int)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Number u(Real t)
Exact solution as a function of time t.
virtual void aux_time_solver_init(TimeSolverType &time_solver)
void testEuler2SolverLinearTimeFirstOrderODE()
ConstantFirstOrderODE(EquationSystems &es, const std::string &name_in, const unsigned int number_in)
CPPUNIT_TEST(testEuler2SolverConstantFirstOrderODE)
void testEuler2SolverConstantFirstOrderODE()