COOLFluiD  Release kernel
COOLFluiD is a Collaborative Simulation Environment (CSE) focused on complex MultiPhysics simulations.
Functions.hpp
Go to the documentation of this file.
1 // Copyright (C) 2010-2013 von Karman Institute for Fluid Dynamics, Belgium
2 //
3 // This software is distributed under the terms of the
4 // GNU Lesser General Public License version 3 (LGPLv3).
5 // See doc/lgpl.txt and doc/gpl.txt for the license text.
6 
10 
11 #ifndef cf3_physics_lineuler_lineuler2d_Functions_hpp
12 #define cf3_physics_lineuler_lineuler2d_Functions_hpp
13 
15 
16 namespace cf3 {
17 namespace physics {
18 namespace lineuler {
19 namespace lineuler2d {
20 
22 
24 void compute_convective_flux( const Data& p, const ColVector_NDIM& normal,
25  RowVector_NEQS& flux );
26 
28 void compute_convective_flux( const Data& p, const ColVector_NDIM& normal,
29  RowVector_NEQS& flux, Real& wave_speed );
30 
32 void compute_convective_wave_speed( const Data& p, const ColVector_NDIM& normal,
33  Real& wave_speed );
34 
36 void compute_convective_eigenvalues( const Data& p, const ColVector_NDIM& normal,
37  RowVector_NEQS& eigen_values );
38 
41  Matrix_NEQSxNEQS& right_eigenvectors );
42 
45  Matrix_NEQSxNEQS& left_eigenvectors );
46 
48 void compute_absolute_flux_jacobian( const Data& p, const ColVector_NDIM& normal,
49  Matrix_NEQSxNEQS& absolute_flux_jacobian);
50 
51 void char_to_cons( const RowVector_NEQS& characteristic,
52  const ColVector_NDIM& characteristic_normal,
53  const Real& c0,
54  RowVector_NEQS& conservative );
55 
56 void cons_to_char( const RowVector_NEQS& conservative,
57  const ColVector_NDIM& characteristic_normal,
58  const Real& c0,
59  RowVector_NEQS& characteristic );
60 
61 // ------- Riemann Solvers ---------
62 
66 void compute_rusanov_flux( const Data& left, const Data& right, const ColVector_NDIM& normal,
67  RowVector_NEQS& flux, Real& wave_speed );
68 
73 void compute_cir_flux( const Data& left, const Data& right, const ColVector_NDIM& normal,
74  RowVector_NEQS& flux, Real& wave_speed );
75 
77 
78 } // lineuler2d
79 } // lineuler
80 } // physics
81 } // cf3
82 
83 #endif // cf3_physics_lineuler_lineuler2d_Functions_hpp
void cons_to_char(const RowVector_NEQS &conservative, const ColVector_NDIM &characteristic_normal, const Real &c0, RowVector_NEQS &characteristic)
Definition: Functions.cpp:152
MatrixTypes< NDIM, NEQS >::RowVector_NEQS RowVector_NEQS
Definition: Types.hpp:22
boost::proto::terminal< SFOp< NormalOp > >::type const normal
void compute_convective_wave_speed(const Data &p, const ColVector_NDIM &normal, Real &wave_speed)
Maximum absolute wave speed.
Definition: Functions.cpp:47
void compute_rusanov_flux(const Data &left, const Data &right, const ColVector_NDIM &normal, RowVector_NEQS &flux, Real &wave_speed)
Rusanov Approximate Riemann solver.
Definition: Functions.cpp:95
void compute_convective_right_eigenvectors(const Data &p, const ColVector_NDIM &normal, Matrix_NEQSxNEQS &right_eigenvectors)
Right eigenvectors projected on a given normal.
Definition: Functions.cpp:65
MatrixTypes< NDIM, NEQS >::Matrix_NEQSxNEQS Matrix_NEQSxNEQS
Definition: Types.hpp:24
MatrixTypes< NDIM, NEQS >::ColVector_NDIM ColVector_NDIM
Definition: Types.hpp:23
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 ...
Definition: Functions.cpp:133
void compute_convective_left_eigenvectors(const Data &p, const ColVector_NDIM &normal, Matrix_NEQSxNEQS &left_eigenvectors)
Left eigenvectors projected on a given normal.
Definition: Functions.cpp:79
void char_to_cons(const RowVector_NEQS &characteristic, const ColVector_NDIM &characteristic_normal, const Real &c0, RowVector_NEQS &conservative)
Definition: Functions.cpp:176
Top-level namespace for coolfluid.
Definition: Action.cpp:18
void compute_convective_eigenvalues(const Data &p, const ColVector_NDIM &normal, RowVector_NEQS &eigen_values)
Eigenvalues or wave speeds projected on a given normal.
Definition: Functions.cpp:53
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.
Definition: Functions.cpp:17
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.
Definition: Functions.cpp:107
Send comments to:
COOLFluiD Web Admin