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)