CppNoddy
0.92
|
A class to represent a one dimensional hyperbolic system of equations. More...
#include <OneD_Hyperbolic_System.h>
Public Member Functions | |
OneD_Hyperbolic_System (const unsigned &order) | |
virtual | ~OneD_Hyperbolic_System () |
An empty destructor, virtual since we have virtual methods. More... | |
virtual void | flux_fn (const double &x, const DenseVector< double > &q, DenseVector< double > &f) const |
A virtual flux function. More... | |
virtual void | Jac_flux_fn (const double &x, const DenseVector< double > &q, DenseMatrix< double > &J) const |
A virtual function function to define the Jacobian of the flux function. More... | |
virtual double | max_charac_speed (const DenseVector< double > &q) const |
A virtual method that is used to bound the shock speed and must be implemented by the user. More... | |
virtual bool_vec | edge_values (const int face_index, const double &x, DenseVector< double > &q, const double &t=0.0) const |
Define the edge boundary conditions. More... | |
virtual void | source_fn (const double &x, const DenseVector< double > &q, const DenseVector< double > &slope, DenseVector< double > &r) const |
unsigned | get_order () |
Protected Attributes | |
const std::size_t | ORDER_OF_SYSTEM |
The order of the system of equations. More... | |
A class to represent a one dimensional hyperbolic system of equations.
Definition at line 13 of file OneD_Hyperbolic_System.h.
|
inlineexplicit |
order | The order of the hyperbolic system |
Definition at line 20 of file OneD_Hyperbolic_System.h.
|
inlinevirtual |
An empty destructor, virtual since we have virtual methods.
Definition at line 24 of file OneD_Hyperbolic_System.h.
|
inlinevirtual |
Define the edge boundary conditions.
face_index | An index for the face: -1=left +1=right for OneD_TVDLF_Mesh |
x | The position vector along the face |
q | The unknowns specified along the face |
t | A time for unsteady edge conditions |
Reimplemented in CppNoddy::Example::Acoustic_1d_ref, and CppNoddy::Example::NlinAdv.
Definition at line 78 of file OneD_Hyperbolic_System.h.
References ORDER_OF_SYSTEM.
|
inlinevirtual |
A virtual flux function.
x | The spatial coordinate |
q | The unknowns |
f | The flux function |
Reimplemented in CppNoddy::Example::Acoustic_1d, CppNoddy::Example::Acoustic_1d_ref, CppNoddy::Example::NlinAdv, CppNoddy::Example::Shallow_1d_rad, and CppNoddy::Example::Euler_1d.
Definition at line 31 of file OneD_Hyperbolic_System.h.
Referenced by Jac_flux_fn().
|
inline |
Definition at line 85 of file OneD_Hyperbolic_System.h.
References ORDER_OF_SYSTEM.
|
inlinevirtual |
A virtual function function to define the Jacobian of the flux function.
The default method uses first-order finite differencing to compute the Jacobian if not otherwise specified by the user.
x | The position |
q | The unknowns |
J | The Jacobian of the flux function |
first order differencing is the default unless overloaded
Definition at line 45 of file OneD_Hyperbolic_System.h.
References flux_fn(), ORDER_OF_SYSTEM, and CppNoddy::DenseMatrix< _Type >::set_col().
|
inlinevirtual |
A virtual method that is used to bound the shock speed and must be implemented by the user.
q | The unknowns |
Reimplemented in CppNoddy::Example::Acoustic_1d, CppNoddy::Example::Acoustic_1d_ref, CppNoddy::Example::NlinAdv, CppNoddy::Example::Shallow_1d_rad, and CppNoddy::Example::Euler_1d.
Definition at line 65 of file OneD_Hyperbolic_System.h.
|
inlinevirtual |
Reimplemented in CppNoddy::Example::Shallow_1d_rad.
Definition at line 82 of file OneD_Hyperbolic_System.h.
|
protected |
The order of the system of equations.
Definition at line 92 of file OneD_Hyperbolic_System.h.
Referenced by edge_values(), get_order(), and Jac_flux_fn().
© 2012
R.E. Hewitt