[P]arallel [Hi]gh-order [Li]brary for [P]DEs  Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
PHiLiP::Tests::EulerEntropyWavesFunction< dim, real > Class Template Reference

Exact entropy waves solution. More...

#include <euler_entropy_waves.h>

Inheritance diagram for PHiLiP::Tests::EulerEntropyWavesFunction< dim, real >:
Collaboration diagram for PHiLiP::Tests::EulerEntropyWavesFunction< dim, real >:

Public Member Functions

 EulerEntropyWavesFunction (const Physics::Euler< dim, dim+2, real > euler_physics, const real dimensional_density_inf)
 Constructor that initializes base_values, amplitudes, frequencies. More...
 
real value (const dealii::Point< dim > &point, const unsigned int istate=0) const
 Manufactured solution exact value. More...
 

Public Attributes

const Physics::Euler< dim, dim+2, real > euler_physics
 Euler physics.
 
const real dimensional_density_inf
 Dimensional density at infinity.
 
real Q_inf
 Velocity at infinity.
 

Private Member Functions

dealii::Point< 2 > advected_location (const dealii::Point< 2 > old_location) const
 Exact solution using the current time provided by the dealii::Function class.
 

Detailed Description

template<int dim, typename real>
class PHiLiP::Tests::EulerEntropyWavesFunction< dim, real >

Exact entropy waves solution.

Masatsuka2018 section 6.3 & section 7.13.3

Definition at line 16 of file euler_entropy_waves.h.

Constructor & Destructor Documentation

◆ EulerEntropyWavesFunction()

template<int dim, typename real >
PHiLiP::Tests::EulerEntropyWavesFunction< dim, real >::EulerEntropyWavesFunction ( const Physics::Euler< dim, dim+2, real >  euler_physics,
const real  dimensional_density_inf 
)

Constructor that initializes base_values, amplitudes, frequencies.

Calls the Function(const unsigned int n_components) constructor in deal.II This sets the public attribute n_components = nstate, which can then be accessed by all the other functions

Definition at line 38 of file euler_entropy_waves.cpp.

Member Function Documentation

◆ value()

template<int dim, typename real >
real PHiLiP::Tests::EulerEntropyWavesFunction< dim, real >::value ( const dealii::Point< dim > &  point,
const unsigned int  istate = 0 
) const
inline

Manufactured solution exact value.

Given A, density_inf, u_inf, v_inf, w_inf, and p_inf

Q_inf = u_inf + v_inv + w_inf
density = density_inf + A*sin( pi * (x+y+z-Q_inf*t) )
u = u_inf
v = u_inf
w = u_inf
p = p_inf

The non-dimensionalization of the problem with A = 1.0 gives

Q_inf* = Q_inf/V_ref = (u_inf + v_inv + w_inf) / V_ref = (u*_inf + v*_inv + w*_inf) * V_ref / V_ref = (u*_inf + v*_inv + w*_inf)
density*density_ref = density_inf + A*sin( pi * ((x*+y*+z*)*L - Q_inf * (t*)*L/V_ref) )
density* = 1.0 + 1.0/density_inf * sin( pi*L * ((x*+y*+z*) - (Q_inf*) * (t*)) )
u = u_inf*
v = u_inf*
w = u_inf*
p = p_inf

Definition at line 51 of file euler_entropy_waves.cpp.


The documentation for this class was generated from the following files: