@@ -1162,8 +1162,6 @@ void CConfig::SetConfig_Options() {
11621162 addBoolOption (" IONIZATION" , ionization, false );
11631163 /* DESCRIPTION: Specify if there is VT transfer residual limiting */
11641164 addBoolOption (" VT_RESIDUAL_LIMITING" , vt_transfer_res_limit, false );
1165- /* DESCRIPTION: Specify if the gas is monoatomic */
1166- addBoolOption (" MONOATOMIC" , monoatomic, false );
11671165 /* DESCRIPTION: List of catalytic walls */
11681166 addStringListOption (" CATALYTIC_WALL" , nWall_Catalytic, Wall_Catalytic);
11691167 /* !\brief MARKER_MONITORING\n DESCRIPTION: Marker(s) of the surface where evaluate the non-dimensional coefficients \ingroup Config*/
@@ -1620,11 +1618,12 @@ void CConfig::SetConfig_Options() {
16201618 /* DESCRIPTION: Activate The adaptive CFL number. */
16211619 addBoolOption (" CFL_ADAPT" , CFL_Adapt, false );
16221620 /* !\brief CFL_ADAPT_PARAM
1623- * DESCRIPTION: Parameters of the adaptive CFL number (factor down, factor up, CFL limit (min and max) )
1621+ * DESCRIPTION: Parameters of the adaptive CFL number (factor down, factor up, CFL limit (min and max), acceptable linear residual )
16241622 * Factor down generally <1.0, factor up generally > 1.0 to cause the CFL to increase when the under-relaxation parameter is 1.0
16251623 * and to decrease when the under-relaxation parameter is less than 0.1. Factor is multiplicative. \ingroup Config*/
16261624 default_cfl_adapt[0 ] = 1.0 ; default_cfl_adapt[1 ] = 1.0 ; default_cfl_adapt[2 ] = 10.0 ; default_cfl_adapt[3 ] = 100.0 ;
1627- addDoubleArrayOption (" CFL_ADAPT_PARAM" , 4 , CFL_AdaptParam, default_cfl_adapt);
1625+ default_cfl_adapt[4 ] = 0.001 ;
1626+ addDoubleListOption (" CFL_ADAPT_PARAM" , nCFL_AdaptParam, CFL_AdaptParam);
16281627 /* DESCRIPTION: Reduction factor of the CFL coefficient in the adjoint problem */
16291628 addDoubleOption (" CFL_REDUCTION_ADJFLOW" , CFLRedCoeff_AdjFlow, 0.8 );
16301629 /* DESCRIPTION: Reduction factor of the CFL coefficient in the level set problem */
@@ -2785,7 +2784,6 @@ void CConfig::SetConfig_Options() {
27852784
27862785 /* DESCRIPTION: Size of the edge groups colored for thread parallel edge loops (0 forces the reducer strategy). */
27872786 addUnsignedLongOption (" EDGE_COLORING_GROUP_SIZE" , edgeColorGroupSize, 512 );
2788-
27892787 /* END_CONFIG_OPTIONS */
27902788
27912789}
@@ -3174,7 +3172,7 @@ void CConfig::SetPostprocessing(unsigned short val_software, unsigned short val_
31743172 (Kind_FluidModel == INC_IDEAL_GAS_POLY) ||
31753173 (Kind_FluidModel == CONSTANT_DENSITY));
31763174 bool noneq_gas = ((Kind_FluidModel == MUTATIONPP) ||
3177- (Kind_FluidModel == USER_DEFINED_NONEQ ));
3175+ (Kind_FluidModel == SU2_NONEQ ));
31783176 bool standard_air = ((Kind_FluidModel == STANDARD_AIR));
31793177 bool nemo = GetNEMOProblem ();
31803178
@@ -3539,10 +3537,6 @@ void CConfig::SetPostprocessing(unsigned short val_software, unsigned short val_
35393537 SU2_MPI::Error (" Only STANDARD_AIR fluid model can be used with US Measurement System" , CURRENT_FUNCTION);
35403538 }
35413539
3542- if (nemo && Kind_FluidModel != USER_DEFINED_NONEQ ) {
3543- SU2_MPI::Error (" Only USER_DEFINED_NONEQ fluid model can be used with the NEMO solver. Mutation++ library will soon be available." , CURRENT_FUNCTION);
3544- }
3545-
35463540 if (nemo && Kind_TransCoeffModel != WILKE ) {
35473541 SU2_MPI::Error (" Only WILKE transport model is stable for the NEMO solver." , CURRENT_FUNCTION);
35483542 }
@@ -3558,6 +3552,14 @@ void CConfig::SetPostprocessing(unsigned short val_software, unsigned short val_
35583552 SU2_MPI::Error (" AUSMPW+ is extremely unstable. Feel free to fix me!" , CURRENT_FUNCTION);
35593553 }
35603554
3555+ if (GetGasModel () == " ARGON" && GetKind_FluidModel () == SU2_NONEQ){
3556+ SU2_MPI::Error (" ARGON is not working with SU2_NONEQ fluid model!" , CURRENT_FUNCTION);
3557+ }
3558+
3559+ if (GetKind_FluidModel () == MUTATIONPP && GetFrozen () == true ){
3560+ SU2_MPI::Error (" The option of FROZEN_MIXTURE is not yet working with Mutation++ support." , CURRENT_FUNCTION);
3561+ }
3562+
35613563 if (GetBoolTurbomachinery ()){
35623564 nBlades = new su2double[nZone];
35633565 FreeStreamTurboNormal= new su2double[3 ];
@@ -4142,6 +4144,19 @@ void CConfig::SetPostprocessing(unsigned short val_software, unsigned short val_
41424144 CFL = new su2double[nCFL];
41434145 CFL[0 ] = CFLFineGrid;
41444146
4147+ /* --- Handle optional CFL adapt parameter values ---*/
4148+
4149+ if (nCFL_AdaptParam < default_cfl_adapt.size ()) {
4150+ auto newParam = new su2double [default_cfl_adapt.size ()];
4151+ for (iCFL = 0 ; iCFL < default_cfl_adapt.size (); ++iCFL) {
4152+ if (iCFL < nCFL_AdaptParam) newParam[iCFL] = CFL_AdaptParam[iCFL];
4153+ else newParam[iCFL] = default_cfl_adapt[iCFL];
4154+ }
4155+ swap (newParam, CFL_AdaptParam);
4156+ delete [] newParam;
4157+ nCFL_AdaptParam = default_cfl_adapt.size ();
4158+ }
4159+
41454160 /* --- Evaluate when the Cl should be evaluated ---*/
41464161
41474162 Iter_Fixed_CM = SU2_TYPE::Int (nInnerIter / (su2double (Update_iH)+1 ));
@@ -4978,6 +4993,7 @@ void CConfig::SetPostprocessing(unsigned short val_software, unsigned short val_
49784993 /* --- Specifying a deforming surface requires a mesh deformation solver. ---*/
49794994 if (GetSurface_Movement (DEFORMING)) Deform_Mesh = true ;
49804995
4996+ if (GetGasModel () == " ARGON" ) monoatomic = true ;
49814997}
49824998
49834999void CConfig::SetMarkers (unsigned short val_software) {
@@ -5559,14 +5575,14 @@ void CConfig::SetOutput(unsigned short val_software, unsigned short val_izone) {
55595575 break ;
55605576 case NEMO_EULER:
55615577 if (Kind_Regime == COMPRESSIBLE) cout << " Compressible two-temperature thermochemical non-equilibrium Euler equations." << endl;
5562- if (Kind_FluidModel == USER_DEFINED_NONEQ ){
5578+ if (Kind_FluidModel == SU2_NONEQ ){
55635579 if ((GasModel != " N2" ) && (GasModel != " AIR-5" ) && (GasModel != " ARGON" ))
55645580 SU2_MPI::Error (" The GAS_MODEL given as input is not valid. Choose one of the options: N2, AIR-5, ARGON." , CURRENT_FUNCTION);
55655581 }
55665582 break ;
55675583 case NEMO_NAVIER_STOKES:
55685584 if (Kind_Regime == COMPRESSIBLE) cout << " Compressible two-temperature thermochemical non-equilibrium Navier-Stokes equations." << endl;
5569- if (Kind_FluidModel == USER_DEFINED_NONEQ ){
5585+ if (Kind_FluidModel == SU2_NONEQ ){
55705586 if ((GasModel != " N2" ) && (GasModel != " AIR-5" ) && (GasModel != " ARGON" ))
55715587 SU2_MPI::Error (" The GAS_MODEL given as input is not valid. Choose one of the options: N2, AIR-5, ARGON." , CURRENT_FUNCTION);
55725588 }
@@ -6538,7 +6554,8 @@ void CConfig::SetOutput(unsigned short val_software, unsigned short val_izone) {
65386554
65396555 if (!CFL_Adapt) cout << " No CFL adaptation." << endl;
65406556 else cout << " CFL adaptation. Factor down: " << CFL_AdaptParam[0 ] <<" , factor up: " << CFL_AdaptParam[1 ]
6541- <<" ,\n lower limit: " << CFL_AdaptParam[2 ] <<" , upper limit: " << CFL_AdaptParam[3 ] <<" ." << endl;
6557+ <<" ,\n lower limit: " << CFL_AdaptParam[2 ] <<" , upper limit: " << CFL_AdaptParam[3 ]
6558+ <<" ,\n acceptable linear residual: " << CFL_AdaptParam[4 ] << " ." << endl;
65426559
65436560 if (nMGLevels !=0 ) {
65446561 PrintingToolbox::CTablePrinter MGTable (&std::cout);
0 commit comments