Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions Common/include/CConfig.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -607,6 +607,7 @@ class CConfig {
MUSCL_Kappa_Heat, /*!< \brief Blending coefficient for U-MUSCL scheme for the (fvm) heat equation.*/
MUSCL_Kappa_AdjFlow, /*!< \brief Blending coefficient for U-MUSCL scheme for the adj flow equations.*/
MUSCL_Kappa_Species; /*!< \brief Blending coefficient for U-MUSCL scheme for the species equations.*/
bool Use_Exact_HLLC_Jacobians; /*!< \brief Exact HLLC Jacobians with wave speeds held fixed. */
bool Use_Accurate_Jacobians; /*!< \brief Use numerically computed Jacobians for AUSM+up(2) and SLAU(2). */
bool Use_Accurate_Turb_Jacobians; /*!< \brief Use numerically computed Jacobians for standard SA turbulence model. */
bool EulerPersson; /*!< \brief Boolean to determine whether this is an Euler simulation with Persson shock capturing. */
Expand Down Expand Up @@ -4800,6 +4801,9 @@ class CConfig {
*/
bool GetUse_Accurate_Jacobians(void) const { return Use_Accurate_Jacobians; }

/*!\brief Get whether to use exact HLLC Jacobians with wave speeds held fixed. */
bool GetUse_Exact_HLLC_Jacobians(void) const { return Use_Exact_HLLC_Jacobians; }

/*!
* \brief Get whether to "Use Accurate Jacobians" for Standard SA turbulence model.
* \return yes/no.
Expand Down
2 changes: 2 additions & 0 deletions Common/src/CConfig.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2178,6 +2178,8 @@ void CConfig::SetConfig_Options() {
addDoubleOption("LAX_SENSOR_COEFF", Kappa_1st_Flow, 0.15);
/*!\brief USE_ACCURATE_FLUX_JACOBIANS \n DESCRIPTION: Use numerically computed Jacobians for AUSM+up(2) and SLAU(2) \ingroup Config*/
addBoolOption("USE_ACCURATE_FLUX_JACOBIANS", Use_Accurate_Jacobians, false);
/*!\brief USE_EXACT_HLLC_JACOBIANS \n DESCRIPTION: Exact HLLC Jacobians with wave speeds held fixed \ingroup Config*/
addBoolOption("USE_EXACT_HLLC_JACOBIANS", Use_Exact_HLLC_Jacobians, false);
/*!\brief CENTRAL_JACOBIAN_FIX_FACTOR \n DESCRIPTION: Improve the numerical properties (diagonal dominance) of the global Jacobian matrix, 3 to 4 is "optimum" (central schemes) \ingroup Config*/
addDoubleOption("CENTRAL_JACOBIAN_FIX_FACTOR", Cent_Jac_Fix_Factor, 4.0);
/*!\brief CENTRAL_JACOBIAN_FIX_FACTOR \n DESCRIPTION: Control numerical properties of the global Jacobian matrix using a multiplication factor for incompressible central schemes \ingroup Config*/
Expand Down
10 changes: 9 additions & 1 deletion SU2_CFD/include/numerics/flow/convection/hllc.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@
*/
class CUpwHLLC_Flow final : public CNumerics {
private:
friend struct HLLCJacobianTestAccess;
bool implicit, dynamic_grid;
bool useAccurateJacobian; /*!< \brief Jacobians computed exactly for fixed wave speeds (USE_EXACT_HLLC_JACOBIANS). */
unsigned short iDim, jDim, iVar, jVar;

su2double *IntermediateState;
Expand All @@ -55,6 +57,8 @@ class CUpwHLLC_Flow final : public CNumerics {
su2double *dSm_dU, *dPI_dU, *drhoStar_dU, *dpStar_dU, *dEStar_dU;

su2double* Flux; /*!< \brief The flux accross the face. */
bool fixedWaveSpeeds = false; /*!< \brief Use fixed_sL, fixed_sR as wave speeds (verification of the Jacobians). */
su2double fixed_sL = 0.0, fixed_sR = 0.0;
su2double** Jacobian_i; /*!< \brief The Jacobian w.r.t. point i after computation. */
su2double** Jacobian_j; /*!< \brief The Jacobian w.r.t. point j after computation. */

Expand All @@ -78,7 +82,6 @@ class CUpwHLLC_Flow final : public CNumerics {
* \return A lightweight const-view (read-only) of the residual/flux and Jacobians.
*/
ResidualType<> ComputeResidual(const CConfig* config) override;

};

/*!
Expand All @@ -90,7 +93,9 @@ class CUpwHLLC_Flow final : public CNumerics {
*/
class CUpwGeneralHLLC_Flow final : public CNumerics {
private:
friend struct HLLCJacobianTestAccess;
bool implicit, dynamic_grid;
bool useAccurateJacobian; /*!< \brief Jacobians computed exactly for fixed wave speeds (USE_EXACT_HLLC_JACOBIANS). */
unsigned short iDim, jDim, iVar, jVar;

su2double *IntermediateState;
Expand All @@ -108,6 +113,8 @@ class CUpwGeneralHLLC_Flow final : public CNumerics {
su2double *dSm_dU, *dPI_dU, *drhoStar_dU, *dpStar_dU, *dEStar_dU;

su2double* Flux; /*!< \brief The flux accross the face. */
bool fixedWaveSpeeds = false; /*!< \brief Use fixed_sL, fixed_sR as wave speeds (verification of the Jacobians). */
su2double fixed_sL = 0.0, fixed_sR = 0.0;
su2double** Jacobian_i; /*!< \brief The Jacobian w.r.t. point i after computation. */
su2double** Jacobian_j; /*!< \brief The Jacobian w.r.t. point j after computation. */

Expand All @@ -132,6 +139,7 @@ class CUpwGeneralHLLC_Flow final : public CNumerics {
*/
ResidualType<> ComputeResidual(const CConfig* config) override;


/*!
* \brief Compute the Average quantities for a general fluid flux between two nodes i and j.
* Using the approach of Vinokur and Montagne'
Expand Down
Loading
Loading