7 #define BOOST_TEST_DYN_LINK
8 #define BOOST_TEST_MODULE "Test module for cf3::Euler"
11 #include <boost/test/unit_test.hpp>
25 BOOST_AUTO_TEST_SUITE( Euler_Suite )
39 prim << 0.1, 0.2, 0.3, 0.4;
47 BOOST_CHECK_EQUAL( flux[0] , 0.55 );
48 BOOST_CHECK_EQUAL( flux[1] , 0.5 );
49 BOOST_CHECK_EQUAL( flux[2] , 0.55 );
50 BOOST_CHECK_EQUAL( flux[3] , 2.2 );
51 BOOST_CHECK_EQUAL( wave_speed, 2.5 );
61 pL.
U0 << 0.5, 0.; pR.
U0 = pL.
U0;
72 std::cout << wave_speed <<
"\t" << flux_pos << std::endl;
75 std::cout << wave_speed <<
"\t" << flux_neg << std::endl;
77 BOOST_CHECK_EQUAL ( flux_pos, -flux_neg );
80 std::cout << wave_speed <<
"\t" << flux_pos << std::endl;
83 std::cout << wave_speed <<
"\t" << flux_neg << std::endl;
85 BOOST_CHECK_EQUAL ( flux_pos, -flux_neg );
97 0.5, 0.25, 0.25, 0.375,
101 BOOST_CHECK( A == Acheck );
102 BOOST_CHECK( R*D.cwiseAbs().asDiagonal()*L == Acheck );
108 BOOST_AUTO_TEST_SUITE_END()
MatrixTypes< NDIM, NEQS >::RowVector_NEQS RowVector_NEQS
boost::proto::terminal< SFOp< NormalOp > >::type const normal
Real R()
Definition of the ideal gas constant [J/mol K].
MatrixTypes< NDIM, NEQS >::Matrix_NEQSxNEQS Matrix_NEQSxNEQS
void compute_convective_flux(const Data &p, const ColVector_NDIM &normal, RowVector_NEQS &flux, Real &wave_speed)
Convective flux in conservative form, and maximum absolute wave speed.
MatrixTypes< NDIM, NEQS >::ColVector_NDIM ColVector_NDIM
void compute_from_primitive(const RowVector_NEQS &prim)
Compute the data given primitive state.
void compute_cir_flux(const Data &left, const Data &right, const ColVector_NDIM &normal, RowVector_NEQS &flux, Real &wave_speed)
CIR (Courant Isaacson Rees) Flux Splitting Upwind scheme for linear hyperbolic system Riemann solver ...
void compute_convective_eigenvalues(const Data &p, const ColVector_NDIM &normal, RowVector_NEQS &eigen_values)
Eigenvalues or wave speeds projected on a given normal.
BOOST_AUTO_TEST_CASE(Test_LinEuler2d_convection)
void compute_convective_right_eigenvectors(const Data &p, const ColVector_NDIM &normal, Matrix_NEQSxNEQS &right_eigenvectors)
Right eigenvectors projected on a given normal.
Top-level namespace for coolfluid.
Real gamma
specific heat ratio
void compute_rusanov_flux(const Data &left, const Data &right, const ColVector_NDIM &normal, RowVector_NEQS &flux, Real &wave_speed)
Rusanov Approximate Riemann solver.
void compute_convective_left_eigenvectors(const Data &p, const ColVector_NDIM &normal, Matrix_NEQSxNEQS &left_eigenvectors)
Left eigenvectors projected on a given normal.
Most basic kernel library.
void compute_absolute_flux_jacobian(const Data &p, const ColVector_NDIM &normal, Matrix_NEQSxNEQS &absolute_flux_jacobian)
Absolute flux jacobian projected on a given normal.