WARPXM v1.10.0
|
Class that calculates the analytic solution to the Hartmann Flow Problem for the MHD Equations. More...
#include <hartmann_flow.h>
Class that calculates the analytic solution to the Hartmann Flow Problem for the MHD Equations.
Public Member Functions | |
Hartmann_flow () | |
~Hartmann_flow () override | |
void | setup (const WxCryptSet &wxc) override |
Determine all states and wave speeds given initial pritimive variable left and right conditions for the Riemann Problem. | |
const std::vector< int > & | getOutputVariableIndexes (int flag) const override |
void | evaluate_function (const real *q, const real *aux, const solverVariables_t *pSV, real *result) const override |
Redefinition of fluxes from parent. | |
Public Member Functions inherited from WmApplication | |
WmApplication () | |
virtual | ~WmApplication ()=default |
virtual void | setup (const WxCryptSet &wxc) |
virtual const std::vector< int > & | getAuxiliaryVariableIndexes (int flag=WMAPPLICATIONFLAG_NONE) const |
virtual const std::vector< int > & | getCrossVariableIndexes (int flag=WMAPPLICATIONFLAG_NONE) const |
const std::vector< std::string > & | getBoundaryNames () const |
bool | isOnBoundary (const std::string &boundaryName) const |
bool | has (int flag) const |
virtual real | numerical_flux (const real *q_l, const real *q_r, const real *aux_l, const real *aux_r, const solverVariables_t *pFV, real *numericalFlux) const |
virtual real | internal_flux (const real *q, const real *aux, const solverVariables_t *pSV, std::vector< std::vector< real > > &internalFlux) const |
virtual real | source (const real *q, const real *aux, const elementGeometry_t *pEG, real *source) const |
virtual void | bc_q (const real *q_in, const real *aux_in, const real *aux_out, const solverVariables_t *pFV, real *q_out) const |
Boundary Condition Application which sets the boundary condition on ghost nodes. | |
virtual real | bcNumericalFlux (const real *q_l, const real *q_r, const real *aux_l, const real *aux_r, const solverVariables_t *pFV, real *numericalFlux) const |
virtual void | conserved_to_primitive (const real *q, const real *aux, real *w) const |
virtual void | primitive_to_conserved (const real *w, const real *aux, real *q) const |
virtual void | evaluate_function (const real *q, const real *aux, const solverVariables_t *pSV, real *result) const |
virtual void | bc_q_kinetic (const real *q_in, const real *aux_in, const solverVariables_t *pFV, real *q_out) const |
std::shared_ptr< std::string > | app_name () |
Public Member Functions inherited from wxm::app_base | |
virtual const std::vector< int > & | getInputVariableIndexes (int flag=0) const |
virtual const std::vector< int > & | getOutputVariableIndexes (int flag=0) const |
Static Public Member Functions | |
static void | analytic_solution (real x, real gasGamma, real hartmann_number_reference, real reynolds_number_reference, real bx, real L, real eta, real mu, real dpdy, real wall_velocity, real *result) |
Protected Attributes | |
real | _gasGamma |
real | _density |
real | _pressure |
real | _wall_velocity |
real | _bx |
real | _dpdy |
real | _L |
real | _eta |
real | _mu |
real | _hartmann_number_reference |
real | _reynolds_number_reference |
std::vector< int > | _variables |
Protected Attributes inherited from WmApplication | |
std::string | _app_name |
WxLogStream | _debStrm |
std::vector< int > | _allowedFlags |
std::vector< std::string > | _onBoundaries |
Additional Inherited Members | |
Public Types inherited from WmApplication | |
typedef Application_Variable | WmApplication_Variable |
typedef std::map< std::string, std::string > | replaceMap_t |
Static Public Attributes inherited from wxm::app_base | |
static std::vector< int > | empty |
Protected Member Functions inherited from wxm::app_base | |
virtual | ~app_base ()=default |
wxm::apps::mhd::analytic_solutions::Hartmann_flow::Hartmann_flow | ( | ) |
|
override |
|
static |
|
overridevirtual |
Redefinition of fluxes from parent.
Given 1d position x and time, determine analytic solution of Euler conserved variables.
q | (input, unused) |
aux | (auxiliary vars, unused) |
pSV | solverVariables_t pointer contains position x and time |
result | (output vars, writing to this) |
Reimplemented from WmApplication.
|
inlineoverridevirtual |
Reimplemented from wxm::app_base.
|
overridevirtual |
Determine all states and wave speeds given initial pritimive variable left and right conditions for the Riemann Problem.
This is an implementation of the solution described in sections 14.11 and 14.12 of "Finite Volume Methods for
Hyperbolic Problems" by Randall J. Leveque, 2002.
Note: Input and Aux vars are not used as the analytic solution is directly calculated.
WxCryptSet | wxc which should contain GAS_GAMMA, "LeftPrimitiveState", RightPrimitiveState", and "Fluid" variables that are being calculated as ouput. |
Reimplemented from WmApplication.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |