diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index da11f902606..aab9decdb80 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -214,8 +214,6 @@ class CConfig { nMarker_Damper, /*!< \brief Number of damper surface markers. */ nMarker_Load_Dir, /*!< \brief Number of load surface markers defined by magnitude and direction. */ nMarker_Disp_Dir, /*!< \brief Number of load surface markers defined by magnitude and direction. */ - nMarker_Load_Sine, /*!< \brief Number of load surface markers defined by magnitude and direction. */ - nMarker_FlowLoad, /*!< \brief Number of load surface markers. */ nMarker_Internal, /*!< \brief Number of internal flow markers. */ nMarker_All, /*!< \brief Total number of markers using the grid information. */ nMarker_Max, /*!< \brief Max number of number of markers using the grid information. */ @@ -269,7 +267,6 @@ class CConfig { *Marker_Load_Dir, /*!< \brief Load markers defined in cartesian coordinates. */ *Marker_Disp_Dir, /*!< \brief Load markers defined in cartesian coordinates. */ *Marker_Load_Sine, /*!< \brief Sine-wave loaded markers defined in cartesian coordinates. */ - *Marker_FlowLoad, /*!< \brief Flow Load markers. */ *Marker_Internal, /*!< \brief Internal flow markers. */ *Marker_All_TagBound; /*!< \brief Global index for markers using grid information. */ @@ -328,10 +325,6 @@ class CConfig { su2double *Disp_Dir_Multiplier; /*!< \brief Specified multiplier for load boundaries defined in cartesian coordinates. */ su2double **Load_Dir; /*!< \brief Specified flow direction vector (unit vector) for inlet boundaries. */ su2double **Disp_Dir; /*!< \brief Specified structural displacement direction (unit vector). */ - su2double *Load_Sine_Amplitude; /*!< \brief Specified amplitude for a sine-wave load. */ - su2double *Load_Sine_Frequency; /*!< \brief Specified multiplier for load boundaries defined in cartesian coordinates. */ - su2double **Load_Sine_Dir; /*!< \brief Specified flow direction vector (unit vector) for inlet boundaries. */ - su2double *FlowLoad_Value; /*!< \brief Specified force for flow load boundaries. */ su2double *ActDiskInlet_MassFlow; /*!< \brief Specified inlet mass flow for actuator disk. */ su2double *ActDiskInlet_Temperature; /*!< \brief Specified inlet temperature for actuator disk. */ su2double *ActDiskInlet_TotalTemperature; /*!< \brief Specified inlet total temperature for actuator disk. */ @@ -518,8 +511,6 @@ class CConfig { Kind_Deform_Linear_Solver_Prec, /*!< \brief Preconditioner of the linear solver. */ Kind_Linear_Solver, /*!< \brief Numerical solver for the implicit scheme. */ Kind_Linear_Solver_Prec, /*!< \brief Preconditioner of the linear solver. */ - Kind_AdjTurb_Linear_Solver, /*!< \brief Numerical solver for the turbulent adjoint implicit scheme. */ - Kind_AdjTurb_Linear_Prec, /*!< \brief Preconditioner of the turbulent adjoint linear solver. */ Kind_DiscAdj_Linear_Solver, /*!< \brief Linear solver for the discrete adjoint system. */ Kind_DiscAdj_Linear_Prec, /*!< \brief Preconditioner of the discrete adjoint linear solver. */ Kind_TimeNumScheme, /*!< \brief Global explicit or implicit time integration. */ @@ -632,9 +623,7 @@ class CConfig { su2double Roe_Kappa; /*!< \brief Relaxation of the Roe scheme. */ su2double Relaxation_Factor_Adjoint; /*!< \brief Relaxation coefficient for variable updates of adjoint solvers. */ su2double Relaxation_Factor_CHT; /*!< \brief Relaxation coefficient for the update of conjugate heat variables. */ - su2double AdjTurb_Linear_Error; /*!< \brief Min error of the turbulent adjoint linear solver for the implicit formulation. */ su2double EntropyFix_Coeff; /*!< \brief Entropy fix coefficient. */ - unsigned short AdjTurb_Linear_Iter; /*!< \brief Min error of the turbulent adjoint linear solver for the implicit formulation. */ unsigned short nLocationStations, /*!< \brief Number of section cuts to make when outputting mesh and cp . */ nWingStations; /*!< \brief Number of section cuts to make when calculating internal volume. */ su2double Kappa_1st_AdjFlow, /*!< \brief Lax 1st order dissipation coefficient for adjoint flow equations (coarse multigrid levels). */ @@ -678,7 +667,6 @@ class CConfig { su2double Total_CM; /*!< \brief Specify a Total CM instead of AoA (external flow only). */ su2double Total_CD; /*!< \brief Specify a target CD instead of AoA (external flow only). */ su2double dCL_dAlpha; /*!< \brief value of dCl/dAlpha. */ - su2double dCM_diH; /*!< \brief value of dCM/dHi. */ unsigned long Iter_Fixed_CM; /*!< \brief Iterations to re-evaluate the angle of attack (external flow only). */ unsigned long Iter_Fixed_NetThrust; /*!< \brief Iterations to re-evaluate the angle of attack (external flow only). */ unsigned long Iter_dCL_dAlpha; /*!< \brief Number of iterations to evaluate dCL_dAlpha. */ @@ -940,8 +928,6 @@ class CConfig { bool RampAndRelease; /*!< \brief option for ramp load and release */ bool Sine_Load; /*!< \brief option for sine load */ su2double Thermal_Diffusivity; /*!< \brief Thermal diffusivity used in the heat solver. */ - su2double Cyclic_Pitch, /*!< \brief Cyclic pitch for rotorcraft simulations. */ - Collective_Pitch; /*!< \brief Collective pitch for rotorcraft simulations. */ su2double Mach_Motion; /*!< \brief Mach number based on mesh velocity and freestream quantities. */ su2double Motion_Origin[3] = {0.0}, /*!< \brief Mesh motion origin. */ @@ -1123,7 +1109,6 @@ class CConfig { distortion[2], /*!< \brief SU2_GEO section locations array for the COption class. */ ea_lim[3], /*!< \brief equivalent area limit array for the COption class. */ grid_fix[6], /*!< \brief fixed grid (non-deforming region) array for the COption class. */ - htp_axis[2], /*!< \brief HTP axis for the COption class. */ ffd_axis[3], /*!< \brief FFD axis for the COption class. */ inc_crit[3], /*!< \brief incremental criteria array for the COption class. */ extrarelfac[2], /*!< \brief extra relaxation factor for Giles BC in the COption class. */ @@ -4295,18 +4280,6 @@ class CConfig { */ su2double GetSemiSpan(void) const { return SemiSpan; } - /*! - * \brief Get the kind of solver for the implicit solver. - * \return Numerical solver for implicit formulation (solving the linear system). - */ - unsigned short GetKind_AdjTurb_Linear_Solver(void) const { return Kind_AdjTurb_Linear_Solver; } - - /*! - * \brief Get the kind of preconditioner for the implicit solver. - * \return Numerical preconditioner for implicit formulation (solving the linear system). - */ - unsigned short GetKind_AdjTurb_Linear_Prec(void) const { return Kind_AdjTurb_Linear_Prec; } - /*! * \brief Get the kind of solver for the implicit solver. * \return Numerical solver for implicit formulation (solving the linear system). @@ -4325,30 +4298,12 @@ class CConfig { */ unsigned short GetKind_Deform_Linear_Solver_Prec(void) const { return Kind_Deform_Linear_Solver_Prec; } - /*! - * \brief Set the kind of preconditioner for the implicit solver. - * \return Numerical preconditioner for implicit formulation (solving the linear system). - */ - void SetKind_AdjTurb_Linear_Prec(unsigned short val_kind_prec) { Kind_AdjTurb_Linear_Prec = val_kind_prec; } - - /*! - * \brief Get min error of the linear solver for the implicit formulation. - * \return Min error of the linear solver for the implicit formulation. - */ - su2double GetAdjTurb_Linear_Error(void) const { return AdjTurb_Linear_Error; } - /*! * \brief Get the entropy fix. * \return Vaule of the entropy fix. */ su2double GetEntropyFix_Coeff(void) const { return EntropyFix_Coeff; } - /*! - * \brief Get max number of iterations of the linear solver for the implicit formulation. - * \return Max number of iterations of the linear solver for the implicit formulation. - */ - unsigned short GetAdjTurb_Linear_Iter(void) const { return AdjTurb_Linear_Iter; } - /*! * \brief Get CFL reduction factor for adjoint turbulence model. * \return CFL reduction factor. @@ -6503,8 +6458,8 @@ class CConfig { su2double GetWeightCd(void) const { return WeightCd; } /*! - * \brief Value of the weight of the CD, CL, CM optimization. - * \return Value of the weight of the CD, CL, CM optimization. + * \brief Value of the damping factor for the Thrust BC (actuator disk). + * \return Value of the damping factor. */ void SetdNetThrust_dBCThrust(su2double val_dnetthrust_dbcthrust); @@ -6568,12 +6523,6 @@ class CConfig { */ void SetdCL_dAlpha(su2double val_dcl_dalpha) { dCL_dAlpha = val_dcl_dalpha; } - /*! - * \brief Value of the weight of the CD, CL, CM optimization. - * \return Value of the weight of the CD, CL, CM optimization. - */ - void SetdCM_diH(su2double val_dcm_dhi) { dCM_diH = val_dcm_dhi; } - /*! * \brief Value of the weight of the CD, CL, CM optimization. * \return Value of the weight of the CD, CL, CM optimization. @@ -8362,46 +8311,6 @@ class CConfig { */ const su2double* GetDisp_Dir(const string& val_index) const; - /*! - * \brief Get the amplitude of the sine-wave at a load boundary defined in cartesian coordinates. - * \param[in] val_index - Index corresponding to the load boundary. - * \return The load value. - */ - su2double GetLoad_Sine_Amplitude(const string& val_index) const; - - /*! - * \brief Get the frequency of the sine-wave at a load boundary in cartesian coordinates. - * \param[in] val_index - Index corresponding to the load boundary. - * \return The load frequency. - */ - su2double GetLoad_Sine_Frequency(const string& val_index) const; - - /*! - * \brief Get the force direction at a sine-wave loaded boundary in cartesian coordinates. - * \param[in] val_index - Index corresponding to the load boundary. - * \return The load direction. - */ - const su2double* GetLoad_Sine_Dir(const string& val_index) const; - - /*! - * \brief Get the force value at an load boundary. - * \param[in] val_index - Index corresponding to the load boundary. - * \return The load value. - */ - su2double GetFlowLoad_Value(const string& val_index) const; - - /*! - * \brief Cyclic pitch amplitude for rotor blades. - * \return The specified cyclic pitch amplitude. - */ - su2double GetCyclic_Pitch(void) const { return Cyclic_Pitch; } - - /*! - * \brief Collective pitch setting for rotor blades. - * \return The specified collective pitch setting. - */ - su2double GetCollective_Pitch(void) const { return Collective_Pitch; } - /*! * \brief Get name of the arbitrary mesh motion input file. * \return File name of the arbitrary mesh motion input file. @@ -8704,12 +8613,6 @@ class CConfig { */ unsigned long GetIter_dCL_dAlpha(void) const { return Iter_dCL_dAlpha; } - /*! - * \brief Get the value of the damping coefficient for fixed CL mode. - * \return Damping coefficient for fixed CL mode. - */ - su2double GetdCM_diH(void) const { return dCM_diH; } - /*! * \brief Get the value of iterations to re-evaluate the angle of attack. * \return Number of iterations. @@ -8717,8 +8620,8 @@ class CConfig { unsigned long GetIter_Fixed_NetThrust(void) const { return Iter_Fixed_NetThrust; } /*! - * \brief Get the value of the damping coefficient for fixed CL mode. - * \return Damping coefficient for fixed CL mode. + * \brief Get the value of NetThrust_dBCThrust. + * \return Value NetThrust_dBCThrust. */ su2double GetdNetThrust_dBCThrust(void) const { return dNetThrust_dBCThrust; } diff --git a/Common/include/grid_movement/CSurfaceMovement.hpp b/Common/include/grid_movement/CSurfaceMovement.hpp index 0ef697e049d..4744c08f289 100644 --- a/Common/include/grid_movement/CSurfaceMovement.hpp +++ b/Common/include/grid_movement/CSurfaceMovement.hpp @@ -156,13 +156,6 @@ class CSurfaceMovement : public CGridMovement { void SetBoundary_Flutter3D(CGeometry* geometry, CConfig* config, CFreeFormDefBox** FFDBox, unsigned long iter, unsigned short iZone); - /*! - * \brief Set the collective pitch for a blade surface movement. - * \param[in] geometry - Geometrical definition of the problem. - * \param[in] config - Definition of the particular problem. - */ - void SetCollective_Pitch(CGeometry* geometry, CConfig* config); - /*! * \brief Set any surface deformationsbased on an input file. * \param[in] geometry - Geometrical definition of the problem. diff --git a/Common/include/option_structure.inl b/Common/include/option_structure.inl index ce94055fca5..bafdb71332f 100644 --- a/Common/include/option_structure.inl +++ b/Common/include/option_structure.inl @@ -654,7 +654,7 @@ class COptionDVParam : public COptionBase { default: { string newstring; newstring.append(this->name); - newstring.append(": undefined design variable type found in configuration file."); + newstring.append(": undefined design variable type found in configuration file. "); return newstring; } } diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index a34902142cf..35c66022926 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -869,8 +869,8 @@ void CConfig::SetPointersNull() { Marker_Isothermal = nullptr; Marker_HeatFlux = nullptr; Marker_EngineInflow = nullptr; Marker_Load = nullptr; Marker_Disp_Dir = nullptr; Marker_RoughWall = nullptr; Marker_EngineExhaust = nullptr; Marker_Displacement = nullptr; Marker_Load = nullptr; - Marker_Load_Dir = nullptr; Marker_Load_Sine = nullptr; Marker_Clamped = nullptr; - Marker_FlowLoad = nullptr; Marker_Internal = nullptr; + Marker_Load_Dir = nullptr; Marker_Clamped = nullptr; + Marker_Internal = nullptr; Marker_All_TagBound = nullptr; Marker_CfgFile_TagBound = nullptr; Marker_All_KindBC = nullptr; Marker_CfgFile_KindBC = nullptr; Marker_All_SendRecv = nullptr; Marker_All_PerBound = nullptr; Marker_ZoneInterface = nullptr; Marker_All_ZoneInterface = nullptr; Marker_Riemann = nullptr; @@ -881,7 +881,7 @@ void CConfig::SetPointersNull() { Isothermal_Temperature = nullptr; HeatTransfer_Coeff = nullptr; HeatTransfer_WallTemp = nullptr; Heat_Flux = nullptr; Displ_Value = nullptr; Load_Value = nullptr; - FlowLoad_Value = nullptr; Damper_Constant = nullptr; Wall_Emissivity = nullptr; + Damper_Constant = nullptr; Wall_Emissivity = nullptr; Roughness_Height = nullptr; /*--- Inlet Outlet Boundary Condition settings ---*/ @@ -918,7 +918,6 @@ void CConfig::SetPointersNull() { Load_Dir = nullptr; Load_Dir_Value = nullptr; Load_Dir_Multiplier = nullptr; Disp_Dir = nullptr; Disp_Dir_Value = nullptr; Disp_Dir_Multiplier = nullptr; - Load_Sine_Dir = nullptr; Load_Sine_Amplitude = nullptr; Load_Sine_Frequency = nullptr; Electric_Field_Mod = nullptr; Electric_Field_Dir = nullptr; RefNode_Displacement = nullptr; Electric_Constant = nullptr; @@ -1432,15 +1431,13 @@ void CConfig::SetConfig_Options() { addDoubleOption("TARGET_CL", Target_CL, 0.0); /* DESCRIPTION: Damping factor for fixed CL mode. */ addDoubleOption("DCL_DALPHA", dCL_dAlpha, 0.2); - /* DESCRIPTION: Damping factor for fixed CL mode. */ - addDoubleOption("DCM_DIH", dCM_diH, 0.05); /* DESCRIPTION: Maximum number of iterations between AoA updates for fixed CL problem. */ addUnsignedLongOption("UPDATE_AOA_ITER_LIMIT", Update_AoA_Iter_Limit, 200); /* DESCRIPTION: Number of times Alpha is updated in a fix CL problem. */ addUnsignedLongOption("UPDATE_IH", Update_iH, 5); /* DESCRIPTION: Number of iterations to evaluate dCL_dAlpha . */ addUnsignedLongOption("ITER_DCL_DALPHA", Iter_dCL_dAlpha, 500); - /* DESCRIPTION: Damping factor for fixed CL mode. */ + /* DESCRIPTION: Value of dNetThrust/dBCThrust */ addDoubleOption("DNETTHRUST_DBCTHRUST", dNetThrust_dBCThrust, 1.0); /* DESCRIPTION: Number of times Alpha is updated in a fix CL problem. */ addUnsignedLongOption("UPDATE_BCTHRUST", Update_BCThrust, 5); @@ -1468,16 +1465,13 @@ void CConfig::SetConfig_Options() { /*!\brief REF_VELOCITY\n DESCRIPTION: Reference velocity (incompressible only) \ingroup Config*/ addDoubleOption("REF_VELOCITY", Velocity_Ref, -1.0); /* !\brief REF_VISCOSITY \n DESCRIPTION: Reference viscosity (incompressible only) \ingroup Config*/ - addDoubleOption("REF_VISCOSITY", Viscosity_Ref, -1.0); + addDoubleOption("REF_VISCOSITY", Viscosity_Ref, 1.0); /* DESCRIPTION: Type of mesh motion */ addEnumOption("REF_DIMENSIONALIZATION", Ref_NonDim, NonDim_Map, DIMENSIONAL); /*!\par CONFIG_CATEGORY: Boundary Markers \ingroup Config*/ /*--- Options related to various boundary markers ---*/ - /*!\brief HTP_AXIS\n DESCRIPTION: Location of the HTP axis*/ - htp_axis[0] = 0.0; htp_axis[1] = 0.0; - addDoubleArrayOption("HTP_AXIS", 2, htp_axis); /*!\brief MARKER_PLOTTING\n DESCRIPTION: Marker(s) of the surface in the surface flow solution file \ingroup Config*/ addStringListOption("MARKER_PLOTTING", nMarker_Plotting, Marker_Plotting); /*!\brief MARKER_MONITORING\n DESCRIPTION: Marker(s) of the surface where evaluate the non-dimensional coefficients \ingroup Config*/ @@ -1630,10 +1624,10 @@ void CConfig::SetConfig_Options() { /*!\brief SPANWISE_KIND \n DESCRIPTION: type of algorithm to identify the span-wise sections at the turbo boundaries. \n OPTIONS: see \link SpanWise_Map \endlink \n Default: AUTOMATIC */ addEnumOption("SPANWISE_KIND", Kind_SpanWise, SpanWise_Map, AUTOMATIC); - /*!\brief TURBOMACHINERY_KIND \n DESCRIPTION: types of turbomachynery architecture. + /*!\brief TURBOMACHINERY_KIND \n DESCRIPTION: types of turbomachinery architecture. \n OPTIONS: see \link TurboMachinery_Map \endlink \n Default: AXIAL */ addEnumListOption("TURBOMACHINERY_KIND",nTurboMachineryKind, Kind_TurboMachinery, TurboMachinery_Map); - /*!\brief MARKER_SHROUD \n DESCRIPTION: markers in which velocity is forced to 0.0 . + /*!\brief MARKER_SHROUD \n DESCRIPTION: markers in which velocity is forced to 0.0. * \n Format: (shroud1, shroud2, ...)*/ addStringListOption("MARKER_SHROUD", nMarker_Shroud, Marker_Shroud); /*!\brief MARKER_SUPERSONIC_INLET \n DESCRIPTION: Supersonic inlet boundary marker(s) @@ -1657,7 +1651,7 @@ void CConfig::SetConfig_Options() { /*!\brief MARKER_HEATTRANSFER DESCRIPTION: Heat flux with specified heat transfer coefficient boundary marker(s)\n * Format: ( Heat transfer marker, heat transfer coefficient, wall temperature (static), ... ) \ingroup Config */ addExhaustOption("MARKER_HEATTRANSFER", nMarker_HeatTransfer, Marker_HeatTransfer, HeatTransfer_Coeff, HeatTransfer_WallTemp); - /*!\brief Smluchowski/Maxwell wall boundary marker(s) \n DESCRIPTION: Slip velocity and temperature jump wall boundary marker(s) + /*!\brief Smoluchowski/Maxwell wall boundary marker(s) \n DESCRIPTION: Slip velocity and temperature jump wall boundary marker(s) Format: ( Heat flux marker, wall temperature (static), momentum accomodation coefficient, thermal accomodation coefficient ... ) \ingroup Config*/ addStringDoubleListOption("MARKER_SMOLUCHOWSKI_MAXWELL", nMarker_Smoluchowski_Maxwell, Marker_Smoluchowski_Maxwell, Isothermal_Temperature); //Missing TMAC and TAC /*!\brief WALL_ROUGHNESS \n DESCRIPTION: Specified roughness heights at wall boundary marker(s) @@ -1686,7 +1680,7 @@ void CConfig::SetConfig_Options() { /* DESCRIPTION: Only half engine is in the computational grid */ addBoolOption("ENGINE_HALF_MODEL", Engine_HalfModel, false); - /* DESCRIPTION: Actuator disk double surface */ + /* DESCRIPTION: Actuator disk SU2_DEF */ addBoolOption("ACTDISK_SU2_DEF", ActDisk_SU2_DEF, false); /* DESCRIPTION: Definition of the distortion rack (radial number of proves / circumferential density (degree) */ distortion[0] = 5.0; distortion[1] = 15.0; @@ -1715,9 +1709,6 @@ void CConfig::SetConfig_Options() { /* DESCRIPTION: Load boundary marker(s) Format: (inlet marker, load, multiplier, dir_x, dir_y, dir_z, ... ), i.e. primitive variables specified. */ addInletOption("MARKER_DISPLACEMENT", nMarker_Disp_Dir, Marker_Disp_Dir, Disp_Dir_Value, Disp_Dir_Multiplier, Disp_Dir); - /* DESCRIPTION: Sine load boundary marker(s) - Format: (inlet marker, load, multiplier, dir_x, dir_y, dir_z, ... ), i.e. primitive variables specified. */ - addInletOption("MARKER_SINE_LOAD", nMarker_Load_Sine, Marker_Load_Sine, Load_Sine_Amplitude, Load_Sine_Frequency, Load_Sine_Dir); /*!\brief SINE_LOAD\n DESCRIPTION: option to apply the load as a sine*/ addBoolOption("SINE_LOAD", Sine_Load, false); sineload_coeff[0] = 0.0; sineload_coeff[1] = 0.0; sineload_coeff[2] = 0.0; @@ -1726,8 +1717,6 @@ void CConfig::SetConfig_Options() { /*!\brief RAMP_AND_RELEASE\n DESCRIPTION: release the load after applying the ramp*/ addBoolOption("RAMP_AND_RELEASE_LOAD", RampAndRelease, false); - /* DESCRIPTION: Flow load boundary marker(s) */ - addStringDoubleListOption("MARKER_FLOWLOAD", nMarker_FlowLoad, Marker_FlowLoad, FlowLoad_Value); /* DESCRIPTION: Damping factor for engine inlet condition */ addDoubleOption("DAMP_ENGINE_INFLOW", Damp_Engine_Inflow, 0.95); /* DESCRIPTION: Damping factor for engine exhaust condition */ @@ -1855,18 +1844,10 @@ void CConfig::SetConfig_Options() { addBoolOption("LOW_MACH_PREC", Low_Mach_Precon, false); /* DESCRIPTION: Post-reconstruction correction for low Mach number flows */ addBoolOption("LOW_MACH_CORR", Low_Mach_Corr, false); - /* DESCRIPTION: Time Step for dual time stepping simulations (s) */ + /* DESCRIPTION: Minimum value for beta for the Roe-Turkel preconditioner */ addDoubleOption("MIN_ROE_TURKEL_PREC", Min_Beta_RoeTurkel, 0.01); - /* DESCRIPTION: Time Step for dual time stepping simulations (s) */ + /* DESCRIPTION: Maximum value for beta for the Roe-Turkel preconditioner */ addDoubleOption("MAX_ROE_TURKEL_PREC", Max_Beta_RoeTurkel, 0.2); - /* DESCRIPTION: Linear solver for the turbulent adjoint systems */ - addEnumOption("ADJTURB_LIN_SOLVER", Kind_AdjTurb_Linear_Solver, Linear_Solver_Map, FGMRES); - /* DESCRIPTION: Preconditioner for the turbulent adjoint Krylov linear solvers */ - addEnumOption("ADJTURB_LIN_PREC", Kind_AdjTurb_Linear_Prec, Linear_Solver_Prec_Map, ILU); - /* DESCRIPTION: Minimum error threshold for the turbulent adjoint linear solver for the implicit formulation */ - addDoubleOption("ADJTURB_LIN_ERROR", AdjTurb_Linear_Error, 1E-5); - /* DESCRIPTION: Maximum number of iterations of the turbulent adjoint linear solver for the implicit formulation */ - addUnsignedShortOption("ADJTURB_LIN_ITER", AdjTurb_Linear_Iter, 10); /* DESCRIPTION: Entropy fix factor */ addDoubleOption("ENTROPY_FIX_COEFF", EntropyFix_Coeff, 0.001); /* DESCRIPTION: Linear solver for the discete adjoint systems */ @@ -1878,6 +1859,8 @@ void CConfig::SetConfig_Options() { /*!\par CONFIG_CATEGORY: Convergence\ingroup Config*/ /*--- Options related to convergence ---*/ + /*!\brief CONV_FIELD\n DESCRIPTION: Output field to monitor \n Default: depends on solver \ingroup Config*/ + addStringListOption("CONV_FIELD", nConvField, ConvField); /*!\brief CONV_RESIDUAL_MINVAL\n DESCRIPTION: Min value of the residual (log10 of the residual)\n DEFAULT: -14.0 \ingroup Config*/ addDoubleOption("CONV_RESIDUAL_MINVAL", MinLogResidual, -14.0); /*!\brief CONV_STARTITER\n DESCRIPTION: Iteration number to begin convergence monitoring\n DEFAULT: 5 \ingroup Config*/ @@ -1886,15 +1869,13 @@ void CConfig::SetConfig_Options() { addUnsignedShortOption("CONV_CAUCHY_ELEMS", Cauchy_Elems, 100); /*!\brief CONV_CAUCHY_EPS\n DESCRIPTION: Epsilon to control the series convergence \n DEFAULT: 1e-10 \ingroup Config*/ addDoubleOption("CONV_CAUCHY_EPS", Cauchy_Eps, 1E-10); - /*!\brief CONV_FIELD\n DESCRIPTION: Output field to monitor \n Default: depends on solver \ingroup Config*/ - addStringListOption("CONV_FIELD", nConvField, ConvField); /*!\brief CONV_WINDOW_STARTITER\n DESCRIPTION: Iteration number after START_ITER_WND to begin convergence monitoring\n DEFAULT: 15 \ingroup Config*/ addUnsignedLongOption("CONV_WINDOW_STARTITER", Wnd_StartConv_Iter, 15); - /*!\brief CONV_WINDOW_CAUCHY_ELEMS\n DESCRIPTION: Number of elements to apply the criteria. \n DEFAULT 100 \ingroup Config*/ - addUnsignedShortOption("CONV_WINDOW_CAUCHY_ELEMS", Wnd_Cauchy_Elems, 100); /*!\brief CONV_WINDOW_CAUCHY_EPS\n DESCRIPTION: Epsilon to control the series convergence \n DEFAULT: 1e-3 \ingroup Config*/ addDoubleOption("CONV_WINDOW_CAUCHY_EPS", Wnd_Cauchy_Eps, 1E-3); + /*!\brief CONV_WINDOW_CAUCHY_ELEMS\n DESCRIPTION: Number of elements to apply the criteria. \n DEFAULT 100 \ingroup Config*/ + addUnsignedShortOption("CONV_WINDOW_CAUCHY_ELEMS", Wnd_Cauchy_Elems, 100); /*!\brief WINDOW_CAUCHY_CRIT \n DESCRIPTION: Determines, if the cauchy convergence criterion should be used for windowed time averaged objective functions*/ addBoolOption("WINDOW_CAUCHY_CRIT",Wnd_Cauchy_Crit, false); /*!\brief CONV_WINDOW_FIELD @@ -2134,7 +2115,7 @@ void CConfig::SetConfig_Options() { /* DESCRIPTION: Determine if the mesh file supports multizone. \n DEFAULT: true (temporarily) */ addBoolOption("MULTIZONE_MESH", Multizone_Mesh, true); - /* DESCRIPTION: Determine if we need to allocate memory to store the multizone residual. \n DEFAULT: true (temporarily) */ + /* DESCRIPTION: Determine if we need to allocate memory to store the multizone residual. \n DEFAULT: false (temporarily) */ addBoolOption("MULTIZONE_RESIDUAL", Multizone_Residual, false); /* !\brief CONTROLLING_VARIABLE_NAMES \n DESCRIPTION: Names of the variables used as inputs for the data regression method in flamelet or data-driven fluid models. */ @@ -2377,9 +2358,9 @@ void CConfig::SetConfig_Options() { addDoubleOption("DEFORM_LIMIT", Deform_Limit, 1E6); /* DESCRIPTION: Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, WALL_DISTANCE, CONSTANT_STIFFNESS) */ addEnumOption("DEFORM_STIFFNESS_TYPE", Deform_StiffnessType, Deform_Stiffness_Map, SOLID_WALL_DISTANCE); - /* DESCRIPTION: Poisson's ratio for constant stiffness FEA method of grid deformation */ + /* DESCRIPTION: Young's modulus for constant stiffness FEA method of grid deformation */ addDoubleOption("DEFORM_ELASTICITY_MODULUS", Deform_ElasticityMod, 2E11); - /* DESCRIPTION: Young's modulus and Poisson's ratio for constant stiffness FEA method of grid deformation */ + /* DESCRIPTION: Poisson's ratio for constant stiffness FEA method of grid deformation */ addDoubleOption("DEFORM_POISSONS_RATIO", Deform_PoissonRatio, 0.3); /* DESCRIPTION: Size of the layer of highest stiffness for wall distance-based mesh stiffness */ addDoubleOption("DEFORM_STIFF_LAYER_SIZE", Deform_StiffLayerSize, 0.0); @@ -2392,14 +2373,6 @@ void CConfig::SetConfig_Options() { /* DESCRIPTION: Maximum number of iterations of the linear solver for the implicit formulation */ addUnsignedLongOption("DEFORM_LINEAR_SOLVER_ITER", Deform_Linear_Solver_Iter, 1000); - /*!\par CONFIG_CATEGORY: Rotorcraft problem \ingroup Config*/ - /*--- option related to rotorcraft problems ---*/ - - /* DESCRIPTION: MISSING ---*/ - addDoubleOption("CYCLIC_PITCH", Cyclic_Pitch, 0.0); - /* DESCRIPTION: MISSING ---*/ - addDoubleOption("COLLECTIVE_PITCH", Collective_Pitch, 0.0); - /*!\par CONFIG_CATEGORY: FEM flow solver definition \ingroup Config*/ /*--- Options related to the finite element flow solver---*/ @@ -2426,7 +2399,7 @@ void CConfig::SetConfig_Options() { /*!\par CONFIG_CATEGORY: FEA solver \ingroup Config*/ /*--- Options related to the FEA solver ---*/ - /*!\brief FEA_FILENAME \n DESCRIPTION: Filename to input for element-based properties \n Default: element_properties.dat \ingroup Config */ + /*!\brief FEA_FILENAME \n DESCRIPTION: Filename to input for element-based properties \n Default: default_element_properties.dat \ingroup Config */ addStringOption("FEA_FILENAME", FEA_FileName, string("default_element_properties.dat")); /* DESCRIPTION: Determine if advanced features are used from the element-based FEA analysis (NO, YES = experimental) */ addBoolOption("FEA_ADVANCED_MODE", FEAAdvancedMode, false); @@ -2455,7 +2428,6 @@ void CConfig::SetConfig_Options() { /*!\brief DESIGN_VARIABLE_FEA * \n DESCRIPTION: Design variable for FEA problems \n OPTIONS: See \link DVFEA_Map \endlink \n DEFAULT VENKATAKRISHNAN \ingroup Config */ addEnumOption("DESIGN_VARIABLE_FEA", Kind_DV_FEA, DVFEA_Map, NODV_FEA); - /* DESCRIPTION: Consider a reference solution for the structure (optimization applications) * Options: NO, YES \ingroup Config */ addBoolOption("REFERENCE_GEOMETRY", RefGeom, false); @@ -2468,9 +2440,6 @@ void CConfig::SetConfig_Options() { /*!\brief REFERENCE_GEOMETRY_SURFACE\n DESCRIPTION: If true consider only the surfaces where loads are applied. \ingroup Config*/ addBoolOption("REFERENCE_GEOMETRY_SURFACE", RefGeomSurf, false); - /*!\brief TOTAL_DV_PENALTY\n DESCRIPTION: Penalty weight value to maintain the total sum of DV constant \ingroup Config*/ - addDoubleOption("TOTAL_DV_PENALTY", DV_Penalty, 0); - /*!\brief REFERENCE_NODE\n DESCRIPTION: Reference node for the structure (optimization applications) */ addUnsignedLongOption("REFERENCE_NODE", refNodeID, 0); /*!\brief REFERENCE_NODE_DISPLACEMENT\n DESCRIPTION: Target displacement of the reference node \ingroup Config*/ @@ -2478,6 +2447,9 @@ void CConfig::SetConfig_Options() { /*!\brief REFERENCE_NODE_PENALTY\n DESCRIPTION: Penalty weight value for the objective function \ingroup Config*/ addDoubleOption("REFERENCE_NODE_PENALTY", RefNode_Penalty, 1E3); + /*!\brief TOTAL_DV_PENALTY\n DESCRIPTION: Penalty weight value to maintain the total sum of DV constant \ingroup Config*/ + addDoubleOption("TOTAL_DV_PENALTY", DV_Penalty, 0); + /*!\brief STRESS_PENALTY_PARAM\n DESCRIPTION: Maximum allowed stress and KS exponent for structural optimization \ingroup Config*/ addDoubleArrayOption("STRESS_PENALTY_PARAM", 2, StressPenaltyParam.data()); @@ -2506,7 +2478,7 @@ void CConfig::SetConfig_Options() { addBoolOption("PSEUDO_STATIC", PseudoStatic, false); /* DESCRIPTION: Parameter alpha for Newmark scheme (s) */ addDoubleOption("NEWMARK_BETA", Newmark_beta, 0.25); - /* DESCRIPTION: Parameter delta for Newmark scheme (s) */ + /* DESCRIPTION: Parameter gamma for Newmark scheme (s) */ addDoubleOption("NEWMARK_GAMMA", Newmark_gamma, 0.5); /* DESCRIPTION: Apply the load as a ramp */ addBoolOption("RAMP_LOADING", Ramp_Load, false); @@ -2584,7 +2556,7 @@ void CConfig::SetConfig_Options() { /* DESCRIPTION: Determines if the convergence history of each individual zone is written to file */ addBoolOption("WRT_ZONE_HIST", Wrt_ZoneHist, false); - /* DESCRIPTION: Determines if the special output is written out */ + /* DESCRIPTION: Determines if the forces breakdown is written out */ addBoolOption("WRT_FORCES_BREAKDOWN", Wrt_ForcesBreakdown, false); @@ -2686,7 +2658,7 @@ void CConfig::SetConfig_Options() { /*!\par CONFIG_CATEGORY: Visualize Control Volumes \ingroup Config*/ /*--- options related to visualizing control volumes ---*/ - /* DESCRIPTION: Node number for the CV to be visualized */ + /* DESCRIPTION: Node number for the CV to be visualized (tecplot) */ addLongOption("VISUALIZE_CV", Visualize_CV, -1); /*!\par CONFIG_CATEGORY: Inverse design problem \ingroup Config*/ @@ -2701,10 +2673,10 @@ void CConfig::SetConfig_Options() { /*!\par CONFIG_CATEGORY: Unsupported options \ingroup Config*/ /*--- Options that are experimental and not intended for general use ---*/ - /* DESCRIPTION: Write extra output */ + /* DESCRIPTION: Write extra output (EXPERIMENTAL, NOT FOR GENERAL USE) */ addBoolOption("EXTRA_OUTPUT", ExtraOutput, false); - /* DESCRIPTION: Write extra heat output for a given zone heat solver zone */ + /* DESCRIPTION: Write extra heat output for a given heat solver zone */ addLongOption("EXTRA_HEAT_ZONE_OUTPUT", ExtraHeatOutputZone, -1); /*--- options related to the FFD problem ---*/ @@ -5554,10 +5526,10 @@ void CConfig::SetMarkers(SU2_COMPONENT val_software) { iMarker_Smoluchowski_Maxwell, iMarker_Isothermal,iMarker_HeatFlux,iMarker_HeatTansfer, iMarker_EngineInflow, iMarker_EngineExhaust, iMarker_Damper, - iMarker_Displacement, iMarker_Load, iMarker_FlowLoad, iMarker_Internal, + iMarker_Displacement, iMarker_Load, iMarker_Internal, iMarker_Monitoring, iMarker_Designing, iMarker_GeoEval, iMarker_Plotting, iMarker_Analyze, iMarker_DV, iMarker_Moving, iMarker_SobolevBC, iMarker_PyCustom, iMarker_Supersonic_Inlet, iMarker_Supersonic_Outlet, - iMarker_Clamped, iMarker_ZoneInterface, iMarker_CHTInterface, iMarker_Load_Dir, iMarker_Disp_Dir, iMarker_Load_Sine, + iMarker_Clamped, iMarker_ZoneInterface, iMarker_CHTInterface, iMarker_Load_Dir, iMarker_Disp_Dir, iMarker_Fluid_Load, iMarker_Deform_Mesh, iMarker_Deform_Mesh_Sym_Plane, iMarker_ActDiskInlet, iMarker_ActDiskOutlet, iMarker_Turbomachinery, iMarker_MixingPlaneInterface; @@ -5573,8 +5545,8 @@ void CConfig::SetMarkers(SU2_COMPONENT val_software) { nMarker_HeatFlux + nMarker_HeatTransfer + nMarker_EngineInflow + nMarker_EngineExhaust + nMarker_Internal + nMarker_Supersonic_Inlet + nMarker_Supersonic_Outlet + nMarker_Displacement + nMarker_Load + - nMarker_FlowLoad + nMarker_Custom + nMarker_Damper + nMarker_Fluid_Load + - nMarker_Clamped + nMarker_Load_Sine + nMarker_Load_Dir + nMarker_Disp_Dir + + nMarker_Custom + nMarker_Damper + nMarker_Fluid_Load + + nMarker_Clamped + nMarker_Load_Dir + nMarker_Disp_Dir + nMarker_ActDiskInlet + nMarker_ActDiskOutlet + nMarker_ActDiskBemInlet + nMarker_ActDiskBemOutlet + nMarker_ZoneInterface; @@ -5910,23 +5882,11 @@ void CConfig::SetMarkers(SU2_COMPONENT val_software) { iMarker_CfgFile++; } - for (iMarker_Load_Sine = 0; iMarker_Load_Sine < nMarker_Load_Sine; iMarker_Load_Sine++) { - Marker_CfgFile_TagBound[iMarker_CfgFile] = Marker_Load_Sine[iMarker_Load_Sine]; - Marker_CfgFile_KindBC[iMarker_CfgFile] = LOAD_SINE_BOUNDARY; - iMarker_CfgFile++; - } - for (iMarker_Fluid_Load = 0; iMarker_Fluid_Load < nMarker_Fluid_Load; iMarker_Fluid_Load++) { Marker_CfgFile_TagBound[iMarker_CfgFile] = Marker_Fluid_Load[iMarker_Fluid_Load]; iMarker_CfgFile++; } - for (iMarker_FlowLoad = 0; iMarker_FlowLoad < nMarker_FlowLoad; iMarker_FlowLoad++) { - Marker_CfgFile_TagBound[iMarker_CfgFile] = Marker_FlowLoad[iMarker_FlowLoad]; - Marker_CfgFile_KindBC[iMarker_CfgFile] = FLOWLOAD_BOUNDARY; - iMarker_CfgFile++; - } - for (iMarker_CfgFile = 0; iMarker_CfgFile < nMarker_CfgFile; iMarker_CfgFile++) { Marker_CfgFile_Monitoring[iMarker_CfgFile] = NO; for (iMarker_Monitoring = 0; iMarker_Monitoring < nMarker_Monitoring; iMarker_Monitoring++) @@ -6086,9 +6046,9 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { iMarker_Smoluchowski_Maxwell, iWall_Catalytic, iMarker_Giles, iMarker_Outlet, iMarker_Isothermal, iMarker_HeatFlux, iMarker_HeatTransfer, iMarker_EngineInflow, iMarker_EngineExhaust, iMarker_Displacement, iMarker_Damper, - iMarker_Load, iMarker_FlowLoad, iMarker_Internal, iMarker_Monitoring, + iMarker_Load, iMarker_Internal, iMarker_Monitoring, iMarker_Designing, iMarker_GeoEval, iMarker_Plotting, iMarker_Analyze, iMarker_DV, iDV_Value, - iMarker_ZoneInterface, iMarker_PyCustom, iMarker_Load_Dir, iMarker_Disp_Dir, iMarker_Load_Sine, iMarker_Clamped, + iMarker_ZoneInterface, iMarker_PyCustom, iMarker_Load_Dir, iMarker_Disp_Dir, iMarker_Clamped, iMarker_Moving, iMarker_Supersonic_Inlet, iMarker_Supersonic_Outlet, iMarker_ActDiskInlet, iMarker_Emissivity, iMarker_StrongBC, iMarker_ActDiskOutlet, iMarker_MixingPlaneInterface, @@ -7374,15 +7334,6 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { BoundaryTable.PrintFooter(); } - if (nMarker_FlowLoad != 0) { - BoundaryTable << "Flow load boundary"; - for (iMarker_FlowLoad = 0; iMarker_FlowLoad < nMarker_FlowLoad; iMarker_FlowLoad++) { - BoundaryTable << Marker_FlowLoad[iMarker_FlowLoad]; - if (iMarker_FlowLoad < nMarker_FlowLoad-1) BoundaryTable << " "; - } - BoundaryTable.PrintFooter(); - } - if (nMarker_Internal != 0) { BoundaryTable << "Internal boundary"; for (iMarker_Internal = 0; iMarker_Internal < nMarker_Internal; iMarker_Internal++) { @@ -7581,15 +7532,6 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { BoundaryTable.PrintFooter(); } - if (nMarker_Load_Sine != 0) { - BoundaryTable << "Sine-Wave boundary"; - for (iMarker_Load_Sine = 0; iMarker_Load_Sine < nMarker_Load_Sine; iMarker_Load_Sine++) { - BoundaryTable << Marker_Load_Sine[iMarker_Load_Sine]; - if (iMarker_Load_Sine < nMarker_Load_Sine-1) BoundaryTable << " "; - } - BoundaryTable.PrintFooter(); - } - if (nMarker_Emissivity != 0) { BoundaryTable << "Radiative boundary"; for (iMarker_Emissivity = 0; iMarker_Emissivity < nMarker_Emissivity; iMarker_Emissivity++) { @@ -9649,27 +9591,6 @@ const su2double* CConfig::GetDisp_Dir(const string& val_marker) const { return Disp_Dir[iMarker_Disp_Dir]; } -su2double CConfig::GetLoad_Sine_Amplitude(const string& val_marker) const { - unsigned short iMarker_Load_Sine; - for (iMarker_Load_Sine = 0; iMarker_Load_Sine < nMarker_Load_Sine; iMarker_Load_Sine++) - if (Marker_Load_Sine[iMarker_Load_Sine] == val_marker) break; - return Load_Sine_Amplitude[iMarker_Load_Sine]; -} - -su2double CConfig::GetLoad_Sine_Frequency(const string& val_marker) const { - unsigned short iMarker_Load_Sine; - for (iMarker_Load_Sine = 0; iMarker_Load_Sine < nMarker_Load_Sine; iMarker_Load_Sine++) - if (Marker_Load_Sine[iMarker_Load_Sine] == val_marker) break; - return Load_Sine_Frequency[iMarker_Load_Sine]; -} - -const su2double* CConfig::GetLoad_Sine_Dir(const string& val_marker) const { - unsigned short iMarker_Load_Sine; - for (iMarker_Load_Sine = 0; iMarker_Load_Sine < nMarker_Load_Sine; iMarker_Load_Sine++) - if (Marker_Load_Sine[iMarker_Load_Sine] == val_marker) break; - return Load_Sine_Dir[iMarker_Load_Sine]; -} - su2double CConfig::GetWall_Emissivity(const string& val_marker) const { unsigned short iMarker_Emissivity = 0; @@ -9691,19 +9612,12 @@ bool CConfig::GetMarker_StrongBC(const string& val_marker) const { return false; } -su2double CConfig::GetFlowLoad_Value(const string& val_marker) const { - unsigned short iMarker_FlowLoad; - for (iMarker_FlowLoad = 0; iMarker_FlowLoad < nMarker_FlowLoad; iMarker_FlowLoad++) - if (Marker_FlowLoad[iMarker_FlowLoad] == val_marker) break; - return FlowLoad_Value[iMarker_FlowLoad]; -} short CConfig::FindInterfaceMarker(unsigned short iInterface) const { /*--- The names of the two markers that form the interface. ---*/ const auto& sideA = Marker_ZoneInterface[2*iInterface]; const auto& sideB = Marker_ZoneInterface[2*iInterface+1]; - for (unsigned short iMarker = 0; iMarker < nMarker_All; iMarker++) { /*--- If the marker is sideA or sideB of the interface (order does not matter). ---*/ const auto& tag = Marker_All_TagBound[iMarker]; diff --git a/SU2_DEF/include/drivers/CDiscAdjDeformationDriver.hpp b/SU2_DEF/include/drivers/CDiscAdjDeformationDriver.hpp index 2feddd82224..5973915fcf5 100644 --- a/SU2_DEF/include/drivers/CDiscAdjDeformationDriver.hpp +++ b/SU2_DEF/include/drivers/CDiscAdjDeformationDriver.hpp @@ -1,5 +1,5 @@ /*! - * \file CDiscAdjDeformationDriver.cpp + * \file CDiscAdjDeformationDriver.hpp * \brief Headers of the main subroutines for driving the projection of sensitivities. * \author T. Economon, H. Kline, R. Sanchez, A. Gastaldi, H. Patel * \version 8.0.0 "Harrier" diff --git a/TestCases/hybrid_regression_AD.py b/TestCases/hybrid_regression_AD.py index cf419bde4e9..7205140ad4c 100644 --- a/TestCases/hybrid_regression_AD.py +++ b/TestCases/hybrid_regression_AD.py @@ -238,11 +238,11 @@ def main(): pywrapper_FEA_AD_FlowLoad.cfg_dir = "py_wrapper/disc_adj_fea/flow_load_sens" pywrapper_FEA_AD_FlowLoad.cfg_file = "configAD_fem.cfg" pywrapper_FEA_AD_FlowLoad.test_iter = 100 - pywrapper_FEA_AD_FlowLoad.test_vals = [-0.131742, -0.553318, -0.000364, -0.003101] #last 4 columns + pywrapper_FEA_AD_FlowLoad.test_vals = [-0.131415, -0.551701, -0.000364, -0.003101] #last 4 columns pywrapper_FEA_AD_FlowLoad.test_vals_aarch64 = [-0.131745, -0.553214, -0.000364, -0.003101] pywrapper_FEA_AD_FlowLoad.command = TestCase.Command(exec = "python", param = "run_adjoint.py --parallel -f") pywrapper_FEA_AD_FlowLoad.timeout = 1600 - pywrapper_FEA_AD_FlowLoad.tol = 1e-3 + pywrapper_FEA_AD_FlowLoad.tol = 5e-3 pywrapper_FEA_AD_FlowLoad.new_output = False pywrapper_FEA_AD_FlowLoad.enabled_with_tsan = False test_list.append(pywrapper_FEA_AD_FlowLoad) @@ -253,7 +253,7 @@ def main(): pywrapper_CFD_AD_MeshDisp.cfg_dir = "py_wrapper/disc_adj_flow/mesh_disp_sens" pywrapper_CFD_AD_MeshDisp.cfg_file = "configAD_flow.cfg" pywrapper_CFD_AD_MeshDisp.test_iter = 1000 - pywrapper_CFD_AD_MeshDisp.test_vals = [30.000000, -2.520967, 1.375188, 0.000000] #last 4 columns + pywrapper_CFD_AD_MeshDisp.test_vals = [30.000000, -2.521422, 1.372295, 0.000000] #last 4 columns pywrapper_CFD_AD_MeshDisp.test_vals_aarch64 = [30.000000, -2.516536, 1.386443, 0.000000] pywrapper_CFD_AD_MeshDisp.command = TestCase.Command(exec = "python", param = "run_adjoint.py --parallel -f") pywrapper_CFD_AD_MeshDisp.timeout = 1600 diff --git a/config_template.cfg b/config_template.cfg index 774d55875e8..2a5b1c072e3 100644 --- a/config_template.cfg +++ b/config_template.cfg @@ -29,6 +29,10 @@ SA_OPTIONS= NONE % % Transition model (NONE, LM) KIND_TRANS_MODEL= NONE +% +% Value of RMS roughness for transition model +HROUGHNESS= 1.0e-6 +% % Specify versions/correlations of the LM model (LM2015, MALAN, SULUKSNA, KRAUSE, KRAUSE_HYPER, MEDIDA, MEDIDA_BAEDER, MENTER_LANGTRY) LM_OPTIONS= NONE % @@ -50,6 +54,9 @@ MATH_PROBLEM= DIRECT % Axisymmetric simulation, only compressible flows (NO, YES) AXISYMMETRIC= NO % +% Gravity force +GRAVITY_FORCE= NO +% % Restart solution (NO, YES) RESTART_SOL= NO % @@ -146,6 +153,9 @@ WINDOW_START_ITER = 500 % Window used for reverse sweep and direct run. Options (SQUARE, HANN, HANN_SQUARE, BUMP) Square is default. WINDOW_FUNCTION = SQUARE % +% Starting direct solver iteration for the unsteady adjoint +UNST_ADJOINT_ITER= 0 +% % ------------------------------- DES Parameters ------------------------------% % % Specify Hybrid RANS/LES model (SA_DES, SA_DDES, SA_ZDES, SA_EDDES) @@ -200,6 +210,9 @@ FREESTREAM_VISCOSITY= 1.853E-5 % Free-stream turbulence intensity FREESTREAM_TURBULENCEINTENSITY= 0.05 % +% Value for freestream intermittency +FREESTREAM_INTERMITTENCY= 1.0 +% % Fix turbulence quantities to far-field values inside an upstream half-space TURB_FIXED_VALUES= NO % @@ -260,6 +273,9 @@ INC_INLET_TYPE= VELOCITY_INLET % Damping coefficient for iterative updates at pressure inlets. (0.1 by default) INC_INLET_DAMPING= 0.1 % +% Impose inlet velocity magnitude in the direction of the normal of the inlet face +INC_INLET_USENORMAL= NO +% % List of outlet types for incompressible flows. List length must % match number of outlet markers. Options: PRESSURE_OUTLET, MASS_FLOW_OUTLET INC_OUTLET_TYPE= PRESSURE_OUTLET @@ -267,6 +283,8 @@ INC_OUTLET_TYPE= PRESSURE_OUTLET % Damping coefficient for iterative updates at mass flow outlets. (0.1 by default) INC_OUTLET_DAMPING= 0.1 % +% Bulk Modulus for computing the Mach number +BULK_MODULUS= 1.42E5 % Epsilon^2 multipier in Beta calculation for incompressible preconditioner. BETA_FACTOR= 4.1 % @@ -295,8 +313,29 @@ DCL_DALPHA= 0.2 % Maximum number of iterations between AoA updates UPDATE_AOA_ITER_LIMIT= 100 % +% Number of times Alpha is updated in a fix CL problem. +UPDATE_IH= 5 +% % Number of iterations to evaluate dCL_dAlpha by using finite differences (500 by default) ITER_DCL_DALPHA= 500 +% +% Evaluate the dOF_dCL or dOF_dCMy during run time +EVAL_DOF_DCX= NO +% +% Damping factor for thrust BC (actuator disk). +NETTHRUST_DBCTHRUST= 1.0 +% +% parameter for the definition of a complex objective function +DCD_DCL_VALUE= 0.0 +% +% parameter for the definition of a complex objective function +DCMX_DCL_VALUE= 0.0 +% +% parameter for the definition of a complex objective function +DCMY_DCL_VALUE= 0.0 +% +% parameter for the definition of a complex objective function +DCMZ_DCL_VALUE= 0.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % @@ -308,6 +347,12 @@ REF_ORIGIN_MOMENT_Z = 0.00 % Reference length for moment non-dimensional coefficients (m or in) REF_LENGTH= 1.0 % +% Reference velocity (incompressible only) +REF_VELOCITY= 1.0 +% +% Reference viscosity (incompressible only) +REF_VISCOSITY= 1.0 +% % Reference area for non-dimensional force coefficients (0 implies automatic % calculation) (m^2 or in^2) REF_AREA= 1.0 @@ -337,7 +382,10 @@ CRITICAL_TEMPERATURE= 131.00 % Critical Pressure (3588550.0 N/m^2 by default) CRITICAL_PRESSURE= 3588550.0 % -% Acentri factor (0.035 (air)) +% Critical Density (263.0 kg/m^3 by default) +CRITICAL_DENSITY= 263.0 +% +% Acentric factor (0.035 (air)) ACENTRIC_FACTOR= 0.035 % % Thermodynamics(operating) Pressure (101325 Pa default value, only for incompressible flow and FLUID_MIXTURE) @@ -359,7 +407,7 @@ MOLECULAR_WEIGHT= 28.96, 16.043 % Format -> Cp(T) : b0 + b1*T + b2*T^2 + b3*T^3 + b4*T^4 CP_POLYCOEFFS= (0.0, 0.0, 0.0, 0.0, 0.0) % -% Nonequilibrium fluid options +% --- Nonequilibrium fluid options % % Gas model - mixture GAS_MODEL= AIR-5 @@ -387,11 +435,17 @@ FILENAMES_INTERPOLATOR= (MLP_1.mlp, MLP_2.mlp, MLP_3.mlp) % Relaxation factor for the Newton solvers in the data-driven fluid model DATADRIVEN_NEWTON_RELAXATION= 0.8 +% +% Specify if there is ionization +IONIZATION= NO +% +% Specify if there is VT transfer residual limiting +VT_RESIDUAL_LIMITING= NO % % NEMO Inlet Options INLET_TEMPERATURE_VE = 288.15 INLET_GAS_COMPOSITION = (0.77, 0.23, 0.0, 0.0, 0.0) -% + % --------------------------- VISCOSITY MODEL ---------------------------------% % % Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY, POLYNOMIAL_VISCOSITY, FLAMELET). @@ -435,7 +489,7 @@ TURBULENT_CONDUCTIVITY_MODEL= CONSTANT_PRANDTL_TURB % % Turbulent Prandtl number (0.9 (air) by default) PRANDTL_TURB= 0.90 -% + % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % % Type of dynamic mesh (NONE, RIGID_MOTION, ROTATING_FRAME, @@ -510,7 +564,7 @@ SURFACE_PLUNGING_AMPL= 0.0 0.0 0.0 % % Move Motion Origin for marker moving (1 or 0) MOVE_MOTION_ORIGIN = 0 -% + % ------------------------- BUFFET SENSOR DEFINITION --------------------------% % % Compute the Kenway-Martins separation sensor for buffet-onset detection @@ -606,6 +660,9 @@ DRAG_IN_SONICBOOM= 0.0 % -------------------------- ENGINE SIMULATION --------------------------------% % +% Evaluate a problem with engines +ENGINE= NO +% % Highlite area to compute MFR (1 in2 by default) HIGHLITE_AREA= 1.0 % @@ -627,6 +684,13 @@ ENGINE_NU_FACTOR= 3.0 % Actuator disk jump definition using ratio or difference (DIFFERENCE, RATIO) ACTDISK_JUMP= DIFFERENCE % +% secondary flow value for actuator disk +ACTDISK_SECONDARY_FLOW= 0.0 +% +% Actuator disk double surface +ACTDISK_DOUBLE_SURFACE= NO +% +% % Number of times BC Thrust is updated in a fix Net Thrust problem (5 by default) UPDATE_BCTHRUST= 100 % @@ -641,6 +705,9 @@ SUBSONIC_ENGINE_CYL= ( 0.0, 0.0, 0.0, 1.0, 0.0 , 0.0, 1.0 ) % % Flow variables that define the subsonic region (Mach, Alpha, Beta, Pressure, Temperature) SUBSONIC_ENGINE_VALUES= ( 0.4, 0.0, 0.0, 2116.216, 518.67 ) +% +% Definition of the distortion rack (radial number of proves / circumferential density (degree) +DISTORTION_RACK= (0.0, 0.0) % ------------------------- TURBOMACHINERY SIMULATION -------------------------% % @@ -685,6 +752,24 @@ MIXEDOUT_COEFF= (1.0, 1.0E-05, 15) % Limit of Mach number below which the mixedout algorithm is substituted % with a AREA average algorithm to avoid numerical issues AVERAGE_MACH_LIMIT= 0.05 +% +% Integer number of periodic time instances for Harmonic Balance +TIME_INSTANCES= 1 +% +% Time period for Harmonic Balance wihtout moving meshes +HB_PERIOD= -1 +% +% Turn on/off harmonic balance preconditioning +HB_PRECONDITION= NO +% +% Omega_HB = 2*PI*frequency - frequencies for Harmonic Balance method +OMEGA_HB= (0,1.0,-1.0) +% +% Determines if the single-zone driver is used. (deprecated) +SINGLEZONE_DRIVER= NO +% +% Determines if the special output is written out +SPECIAL_OUTPUT= NO % ------------------- RADIATIVE HEAT TRANSFER SIMULATION ----------------------% % @@ -713,7 +798,7 @@ HEAT_SOURCE_ROTATION_Z = 0.0 HEAT_SOURCE_CENTER = ( 0.0, 0.0, 0.0 ) % % Vector of heat source radii (Heat_Source_Radius_A, Heat_Source_Radius_B, Heat_Source_Radius_C) -HEAT_SOURCE_RADIUS = ( 1.0, 1.0, 1.0 ) +HEAT_SOURCE_AXES = ( 1.0, 1.0, 1.0 ) % % Wall emissivity of the marker for radiation purposes MARKER_EMISSIVITY = ( MARKER_NAME, 1.0 ) @@ -729,15 +814,23 @@ TIME_DISCRE_RADIATION = EULER_IMPLICIT % Specify scalar transport model (NONE, SPECIES_TRANSPORT, FLAMELET) KIND_SCALAR_MODEL= NONE % -% Mass diffusivity model (CONSTANT_DIFFUSIVITY, FLAMELET) +% mixing model for species transport (DAVIDSON, WILKE) +MIXING_VISCOSITY_MODEL= DAVIDSON +% +% Mass diffusivity model (CONSTANT_DIFFUSIVITY, CONSTANT_SCHMIDT, UNITY_LEWIS, CONSTANT_LEWIS, FLAMELET) DIFFUSIVITY_MODEL= CONSTANT_DIFFUSIVITY % % Mass diffusivity if DIFFUSIVITY_MODEL= CONSTANT_DIFFUSIVITY is chosen. D_air ~= 0.001 DIFFUSIVITY_CONSTANT= 0.001 % +% Laminar Schmidt number for mass diffusion (for constant schmidt number model) +SCHMIDT_NUMBER_LAMINAR= 1.0 % Turbulent Schmidt number of mass diffusion SCHMIDT_NUMBER_TURBULENT= 0.7 % +% list of constant Lewis numbers for all species for +CONSTANT_LEWIS_NUMBER= (1,1,1) +% % Inlet Species boundary marker(s) with the following format: % (inlet_marker, Species1, Species2, ..., SpeciesN-1, inlet_marker2, Species1, Species2, ...) % For N species, N-1 transport equations are solved, the last one Y_N is solved algebraically as 1-(sum of the species 1 to (N-1)) @@ -760,16 +853,16 @@ TIME_DISCRE_SPECIES= EULER_IMPLICIT CFL_REDUCTION_SPECIES= 1.0 % % Initial values for scalar transport -SPECIES_INIT= 1.0, ... +SPECIES_INIT= 1.0 % % Activate clipping for scalar transport equations SPECIES_CLIPPING= NO % % Maximum values for scalar clipping -SPECIES_CLIPPING_MAX= 1.0, ... +SPECIES_CLIPPING_MAX= 1.0 % % Minimum values for scalar clipping -SPECIES_CLIPPING_MIN= 0.0, ... +SPECIES_CLIPPING_MIN= 0.0 % --------------------- FLAMELET MODEL -----------------------------% % @@ -859,7 +952,7 @@ STREAMWISE_PERIODIC_TEMPERATURE= NO % Upon convergence, the area averaged inlet temperature will be INC_TEMPERATURE_INIT. % Defaults to 0.0. STREAMWISE_PERIODIC_OUTLET_HEAT= 0.0 -% + % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % % Euler wall boundary marker(s) (NONE = no marker) @@ -902,6 +995,20 @@ SPECIFIED_INLET_PROFILE= NO % File specifying inlet profile INLET_FILENAME= inlet.dat % +% If a file is provided to specify the inlet profile, +% this tolerance will be used to match the coordinates in the input file to +% the points on the grid. +% INLET_MATCHING_TOLERANCE= 1e-6 +% +% Type of spanwise interpolation to use for the inlet face (LINEAR_1D, AKIMA_1D, CUBIC_1D). +INLET_INTERPOLATION_FUNCTION= NONE +% +% Type of radial spanwise interpolation type for the inlet face (VR_VTHETA or ALPHA_PHI). +INLET_INTERPOLATION_DATA_TYPE= VRVTHETA +% +% Write interpolated inlet vertex data to the file Interpolated_Data_.dat +PRINT_INLET_INTERPOLATED_DATA= NO +% % Inlet boundary marker(s) with the following formats (NONE = no marker) % Total Conditions: (inlet marker, total temp, total pressure, flow_direction_x, % flow_direction_y, flow_direction_z, ... ) where flow_direction is @@ -1023,6 +1130,9 @@ MARKER_SHROUD= (NONE) % MARKER_ZONE_INTERFACE= ( NONE ) % +% CHT interface boundary marker(s) +MARKER_CHT_INTERFACE= ( NONE ) +% % Specifies the interface (s) % The kind of interface is defined by listing pairs of markers (one from each % zone connected by the interface) @@ -1035,14 +1145,39 @@ MARKER_ZONE_INTERFACE= ( NONE ) % MARKER_FLUID_INTERFACE= ( NONE ) % -% Kind of interface interpolation among different zones (NEAREST_NEIGHBOR, -% ISOPARAMETRIC, SLIDING_MESH) +% Marker(s) in which the flow load is computed/applied +MARKER_FLUID_LOAD= ( NONE ) +% +% Kind of interface interpolation among different zones (NEAREST_NEIGHBOR, WEIGHTED_AVERAGE, +% ISOPARAMETRIC, RADIAL_BASIS_FUNCTION) KIND_INTERPOLATION= NEAREST_NEIGHBOR % +% Use conservative approach for interpolating between meshes +CONSERVATIVE_INTERPOLATION= YES +% +% Type of radial basis function to use for radial basis function interpolation +% (WENDLAND_C2, INV_MULTI_QUADRIC, GAUSSIAN, THIN_PLATE_SPLINE, MULTI_QUADRIC). +KIND_RADIAL_BASIS_FUNCTION = WENDLAND_C2 +% +% Radius for radial basis function. +RADIAL_BASIS_FUNCTION_PARAMETER = 0.015 +% +% Use polynomial term in radial basis function interpolation. +RADIAL_BASIS_FUNCTION_POLYNOMIAL_TERM = YES +% +% Tolerance to prune small coefficients from the RBF interpolation matrix. +RADIAL_BASIS_FUNCTION_PRUNE_TOLERANCE = 0 +% % Inflow and Outflow markers must be specified, for each blade (zone), following % the natural groth of the machine (i.e, from the first blade to the last) MARKER_TURBOMACHINERY= ( NONE ) % +% Integer number of spanwise sections to compute 3D turbo BC and Performance for turbomachinery +NUM_SPANWISE_SECTIONS= 1 +% +% type of algorithm to identify the span-wise sections at the turbo boundaries. 1 means automatic. +SPANWISE_KIND= 1 +% % Mixing-plane interface markers must be specified to activate the transfer of % information between zones MARKER_MIXINGPLANE_INTERFACE= ( NONE ) @@ -1064,14 +1199,75 @@ SPATIAL_FOURIER= NO % Catalytic wall marker(s) (NONE = no marker) % Format: ( marker name, ... ) CATALYTIC_WALL= ( NONE ) +% specify if catalytic wall is a supercatalytic wall +SUPERCATALYTIC_WALL= NO +% species composition at the supercatalytic wall +SUPERCATALYTIC_WALL_COMPOSITION= (0,0,0) +% catalytic efficiency +CATALYTIC_EFFICIENCY= 0.2 % % Inlet Turbulent boundary marker(s) with the following format: % SA Model: (inlet_marker1, NuFactor1, inlet_marker2, NuFactor2, ...) % SST Model: (inlet_marker1, TurbIntensity1, RatioTurbLamViscosity1, inlet_marker2, TurbIntensity2, RatioTurbLamViscosity2, ...) MARKER_INLET_TURBULENT= (inlet1, 0.05, 15, inlet2, 0.02, ...) % -% list of markers species transport and flamelet model where strong boundary conditions should be used -MARKER_SPECIES_STRONG_BC= (inlet, wall) +% Custom boundary marker(s) (this has to be implemented by users in the code). +MARKER_CUSTOM= ( NONE ) +% +% Smoluchowski/Maxwell slip wall boundary marker(s) +MARKER_SMOLUCHOWSKI_MAXWELL= ( NONE ) +% +% Clamped boundary marker(s) +MARKER_CLAMPED= ( NONE ) +% +% Load boundary marker(s) +MARKER_DAMPER= ( NONE ) +% +% Load boundary marker(s) +% Format: (inlet marker, load, multiplier, dir_x, dir_y, dir_z, ... ), +% i.e. primitive variables specified. +MARKER_LOAD= ( NONE ) +% +% option to apply the load as a sine +SINE_LOAD= NO +% the 1st coeff is the amplitude, +% the 2nd is the frequency, +% the 3rd is the phase in radians +SINE_LOAD_COEFF= (0.0, 0.0, 0.0) +% +RAMP_AND_RELEASE_LOAD= NO +% +% Apply the load as a ramp +RAMP_LOADING= NO +% +% Time while the load is to be increased linearly +RAMP_TIME= 1.0 +% +% Number of FSI iterations during which a ramp is applied +RAMP_FSI_ITER= 2 +% +% Aitken static relaxation factor +STAT_RELAX_PARAMETER= 0.4 +% +% Aitken dynamic maximum relaxation factor for the first iteration +AITKEN_DYN_MAX_INITIAL= 0.5 +% +% Aitken dynamic minimum relaxation factor for the first iteration +AITKEN_DYN_MIN_INITIAL= 0.5 +% +% Kind of relaxation +BGS_RELAXATION= NONE +% +% Relaxation required +RELAXATION= NO +% +% Transfer method used for multiphysics problems +DYNAMIC_LOAD_TRANSFER= RAMP +% +% Load boundary marker(s) +% Format: (inlet marker, load, multiplier, dir_x, dir_y, dir_z, ... ), +% i.e. primitive variables specified. +MARKER_DISPLACEMENT= ( NONE ) % ------------------------ WALL ROUGHNESS DEFINITION --------------------------% % The equivalent sand grain roughness height (k_s) on each of the wall. This must be in m. @@ -1096,6 +1292,14 @@ WALLMODEL_MAXITER= 200 % [Expert] relaxation factor for the Newton iterations of the standard wall function WALLMODEL_RELFAC= 0.5 +% ------------------------ CONJUGATE HEAT TRANSFER (CHT) --------------------------% +% +% Relaxation of the CHT coupling +RELAXATION_FACTOR_CHT= 1.0 +% +% CHT interface coupling methods +CHT_COUPLING_METHOD= DIRECT_TEMPERATURE_ROBIN_HEATFLUX + % ------------------------ SURFACES IDENTIFICATION ----------------------------% % % Marker(s) of the surface in the surface flow solution file @@ -1126,7 +1330,7 @@ MARKER_ANALYZE_AVERAGE = MASSFLUX % % Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS - +% % Numerical method for spatial gradients to be used for MUSCL reconstruction % Options are (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES, LEAST_SQUARES). Default value is % NONE and the method specified in NUM_METHOD_GRAD is used. @@ -1149,6 +1353,9 @@ CFL_ADAPT_PARAM= ( 0.1, 2.0, 10.0, 1e10, 0.001 ) % Maximum Delta Time in local time stepping simulations MAX_DELTA_TIME= 1E6 % +% External iteration offset due to restart +EXT_ITER_OFFSET= 0 +% % Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) % @@ -1219,6 +1426,8 @@ ADJ_SHARP_LIMITER_COEFF= 3.0 % Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP = NO % +SENS_SMOOTHING= NONE +% % Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 % @@ -1247,6 +1456,15 @@ LINEAR_SOLVER= FGMRES % Same for discrete adjoint (smoothers not supported), replaces LINEAR_SOLVER in SU2_*_AD codes. DISCADJ_LIN_SOLVER= FGMRES % +% Linear solver for the turbulent adjoint systems +ADJTURB_LIN_SOLVER= FGMRES +% +% Preconditioner for the turbulent adjoint Krylov linear solvers +ADJTURB_LIN_PREC= ILU +% +% Maximum number of iterations of the turbulent adjoint linear solver for the implicit formulation +ADJTURB_LIN_ITER= 10 +% % Preconditioner of the Krylov linear solver or type of smoother (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU % @@ -1291,6 +1509,11 @@ MG_DAMP_RESTRICTION= 0.75 % Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.75 +% -------------------------- MESH SMOOTHING -----------------------------% +% +% Before each computation, implicitly smooth the nodal coordinates +SMOOTH_GEOMETRY= 0 + % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % % Convective numerical method (JST, JST_KE, JST_MAT, LAX-FRIEDRICH, ROE, AUSM, @@ -1301,6 +1524,15 @@ CONV_NUM_METHOD_FLOW= ROE % Roe Low Dissipation function for Hybrid RANS/LES simulations (FD, NTS, NTS_DUCROS) ROE_LOW_DISSIPATION= FD % +% Roe coefficient +ROE_KAPPA= 0.5 +% +% Minimum value for beta for the Roe-Turkel preconditioner +MIN_ROE_TURKEL_PREC= 0.01 +% +% Maximum value for beta for the Roe-Turkel preconditioner +MAX_ROE_TURKEL_PREC= 0.2 +% % Post-reconstruction correction for low Mach number flows (NO, YES) LOW_MACH_CORR= NO % @@ -1324,6 +1556,10 @@ ENTROPY_FIX_COEFF= 0.0 % only) more diagonal dominant (but mathematically incorrect) so that higher CFL can be used. CENTRAL_JACOBIAN_FIX_FACTOR= 4.0 % +% Control numerical properties of the global Jacobian matrix using a multiplication factor +% for incompressible central schemes +CENTRAL_INC_JACOBIAN_FIX_FACTOR= 1.0 +% % Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % @@ -1331,6 +1567,12 @@ TIME_DISCRE_FLOW= EULER_IMPLICIT % For multizone discrete adjoint it will use FGMRES on inner iterations with restart frequency % equal to "QUASI_NEWTON_NUM_SAMPLES". NEWTON_KRYLOV= NO +% +% Integer parameters {startup iters, precond iters, initial tolerance relaxation}. +NEWTON_KRYLOV_IPARAM= (10, 3, 2) +% +% Double parameters {startup residual drop, precond tolerance, full tolerance residual drop, findiff step}. +NEWTON_KRYLOV_DPARAM= (1.0, 0.1, -6.0, 1e-5) % ------------------- FEM FLOW NUMERICAL METHOD DEFINITION --------------------% % @@ -1365,7 +1607,7 @@ ALIGNED_BYTES_MATMUL= 128 TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT % % Number of time DOFs for the predictor step of ADER-DG (2 by default) -%TIME_DOFS_ADER_DG= 2 +TIME_DOFS_ADER_DG= 2 % Factor applied during quadrature in time for ADER-DG. (2.0 by default) %QUADRATURE_FACTOR_TIME_ADER_DG = 2.0 % @@ -1376,7 +1618,135 @@ LEVELS_TIME_ACCURATE_LTS= 1 % % Specify the method for matrix coloring for Jacobian computations (GREEDY_COLORING, NATURAL_COLORING) KIND_MATRIX_COLORING= GREEDY_COLORING +% +% Specify shock capturing method for DG +KIND_FEM_DG_SHOCK= NONE + +% ------------------- TOPOLOGY OPTIMIZATION --------------------% +% +% "Classic" density approach to topology optimization. Each element is +% assigned a density variable that is used to penalize its stiffness. +TOPOLOGY_OPTIMIZATION= NO +% +% Output file for the derivatives of the OBJECTIVE_FUNCTION w.r.t. the +% design densities. +TOPOL_OPTIM_OUTFILE= element_derivatives.dat +% +% The penalization exponent for the Simplified Isotropic Material with +% Penalization. +TOPOL_OPTIM_SIMP_EXPONENT= 1.0 +% +% The stiffness of void elements (normalized by ELASTICITY_MODULUS) +TOPOL_OPTIM_SIMP_MINSTIFF= 0.001 +% +% Filtering is required to avoid numerical issues, see [Sigmund, 2007] +% (DOI 10.1007/s00158-006-0087-x). Currently available options: +% CONSTANT; CONICAL (default); GAUSSIAN; DILATE; ERODE. +% The filter can have multiple sequential stages (2 in this case). +TOPOL_OPTIM_FILTER_KERNEL= (DILATE, ERODE) +% +% Each kernel can have its own radius (R1, R2, ...) or one value can be +% specified for all. +TOPOL_OPTIM_FILTER_RADIUS= 0.0 +% +% The Gaussian, Erode, and Dilate filters, have a constant parameter. +% Again this can be a list. +TOPOL_OPTIM_KERNEL_PARAM= 0.01 +% +% The filtering may become very expensive if the mesh has very refined +% regions. If different from 0 this option mitigates that by limiting the +% "logical radius" (for immediate neighbors that radius is 1, etc.). +TOPOL_OPTIM_SEARCH_LIMIT= 0 +% +% After the filtering, a projection step can be applied to increase the +% solid-void contrast, i.e. the discreteness of the solution. Options: +% NO_PROJECTION (default); HEAVISIDE_UP; HEAVISIDE_DOWN. +TOPOL_OPTIM_PROJECTION_TYPE= NO_PROJECTION +% +% The continuous Heaviside function (step) approximations require a +% parameter, large value equals more discrete. +TOPOL_OPTIM_PROJECTION_PARAM= 0.0 + +% ------------------- FEA SOLVER FOR FLUID-STRUCTURE INTERACTION --------------------% +% +% Filename to input for element-based properties +FEA_FILENAME= default_element_properties.dat +% +% Determine if advanced features are used from the element-based FEA analysis (NO, YES = experimental) +FEA_ADVANCED_MODE= NO +% +% Modulus of elasticity +ELASTICITY_MODULUS= 1000.0 +% +% Poisson ratio +POISSON_RATIO= 0.35 +% +% Knowles B constant +KNOWLES_B= 1.0 +% +% Knowles N constant +KNOWLES_N= 1.0 +% +% ID of the region we want to compute the sensitivities using direct differentiation +FEA_ID_DIRECTDIFF= 0 +% +% +RESTART_STEADY_STATE= NO +% +% Time discretization +TIME_DISCRE_FEA= NEWMARK_IMPLICIT +% +% Parameter alpha for Newmark scheme (s) +NEWMARK_BETA= 0.25 +% +% Parameter gamma for Newmark scheme (s) +NEWMARK_GAMMA= 0.50 +% +% Newmark - Generalized alpha - coefficients +TIME_INT_STRUCT_COEFFS= 0.0 +% +% Apply dead loads +INCREMENTAL_LOAD= NO +% +% Maximum number of increments of the +NUMBER_INCREMENTS= 10 +% +% Definition of the UTOL RTOL ETOL +INCREMENTAL_CRITERIA= (0.0, 0.0, 0.0) +% +% Use of predictor +PREDICTOR= NO +% +% Order of the predictor +PREDICTOR_ORDER= 0 +% +% Geometric conditions +GEOMETRIC_CONDITIONS= SMALL_DEFORMATIONS +% +% Material model +MATERIAL_MODEL= LINEAR_ELASTIC +% +% Compressibility of the material +MATERIAL_COMPRESSIBILITY= COMPRESSIBLE +% +% -------------------- Dielectric effects ------------------% +% +% Include DE effects +DE_EFFECTS= NO +% +% Value of the Dielectric Elastomer constant +ELECTRIC_FIELD_CONST= 4.25e-11 +% +% Modulus of the Electric Fields +ELECTRIC_FIELD_MOD= 20e5 +% +% Direction of the Electic Fields +ELECTRIC_FIELD_DIR= (0.0, 1.0) +% -------------------- Weakly Coupled Heat ------------------% +% +WEAKLY_COUPLED_HEAT_EQUATION= NO +% % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % % Convective numerical method (SCALAR_UPWIND, BOUNDED_SCALAR) @@ -1404,12 +1774,15 @@ SLOPE_LIMITER_HEAT = NONE % % Time discretization TIME_DISCRE_HEAT= EULER_IMPLICIT -% + % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % % Frozen the slope limiter in the discrete adjoint formulation (NO, YES) FROZEN_LIMITER_DISC= NO % +% Continuous Adjoint frozen viscosity +% FROZEN_VISC_CONT= NO +% % Frozen the turbulent viscosity in the discrete adjoint formulation (NO, YES) FROZEN_VISC_DISC= NO % @@ -1439,6 +1812,20 @@ LIMIT_ADJFLOW= 1E6 % Use multigrid in the adjoint problem (NO, YES) MG_ADJFLOW= YES +% ---------------- MULTIZONE DEFINITION --------------% +% +% Determine if the mesh file supports multizone. \n DEFAULT: true (temporarily) +MULTIZONE_MESH= YES +% +% Determine if we need to allocate memory to store the multizone residual. \n DEFAULT: true (temporarily) +MULTIZONE_RESIDUAL= NO +% +% Determines if the convergence history of each individual zone is written to screen +WRT_ZONE_CONV= NO +% +% Determines if the convergence history of each individual zone is written to file +WRT_ZONE_HIST= NO + % ---------------- ADJOINT-TURBULENT NUMERICAL METHOD DEFINITION --------------% % % Convective numerical method (SCALAR_UPWIND) @@ -1450,7 +1837,6 @@ TIME_DISCRE_ADJTURB= EULER_IMPLICIT % Reduction factor of the CFL coefficient in the adjoint turbulent problem CFL_REDUCTION_ADJTURB= 0.01 - % -------------------- NEMO NUMERICAL METHOD DEFINITION -----------------------% % % Mixture transport properties (WILKE,GUPTA-YOS,CHAPMANN-ENSKOG, SUTHERLAND) @@ -1464,9 +1850,14 @@ GEO_MARKER= ( airfoil ) % Description of the geometry to be analyzed (AIRFOIL, WING) GEO_DESCRIPTION= AIRFOIL % +% Z location of the waterline +GEO_WATERLINE_LOCATION= 0.0 +% % Coordinate of the stations to be analyzed GEO_LOCATION_STATIONS= (0.0, 0.5, 1.0) % +% Definition of the nacelle location (higlite coordinates, tilt angle, toe angle) +GEO_NACELLE_LOCATION= (0.0, 0.0, 0.0, 0.0, 0.0) % Geometrical bounds (Y coordinate) for the wing geometry analysis or % fuselage evaluation (X coordinate) GEO_BOUNDS= (1.5, 3.5) @@ -1480,23 +1871,6 @@ GEO_NUMBER_STATIONS= 25 % Geometrical evaluation mode (FUNCTION, GRADIENT) GEO_MODE= FUNCTION -% ------------------------- GRID ADAPTATION STRATEGY --------------------------% -% -% Kind of grid adaptation (NONE, PERIODIC, FULL, FULL_FLOW, GRAD_FLOW, -% FULL_ADJOINT, GRAD_ADJOINT, GRAD_FLOW_ADJ, ROBUST, -% FULL_LINEAR, COMPUTABLE, COMPUTABLE_ROBUST, -% REMAINING, WAKE, SMOOTHING, SUPERSONIC_SHOCK) -KIND_ADAPT= FULL_FLOW -% -% Percentage of new elements (% of the original number of elements) -NEW_ELEMS= 5 -% -% Scale factor for the dual volume -DUALVOL_POWER= 0.5 -% -% Adapt the boundary elements (NO, YES) -ADAPT_BOUNDARY= YES - % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % % Kind of deformation (NO_DEFORMATION, SCALE_GRID, TRANSLATE_GRID, ROTATE_GRID, @@ -1555,7 +1929,58 @@ DV_SENS_FILENAME= surface_sensitivity.dat % as an ASCII file with name given by DV_SENS_FILENAMEand with format as % rows of x, y, z, dJ/dx, dJ/dy, dJ/dz for each grid point. DV_SENSITIVITY_FORMAT= SU2_NATIVE +% DV_UNORDERED_SENS_FILENAME= unordered_sensitivity.dat +% +% Hold the grid fixed in a region +HOLD_GRID_FIXED= NO +% +% Coordinates of the box where the grid will be deformed (Xmin, Ymin, Zmin, Xmax, Ymax, Zmax) +HOLD_GRID_FIXED_COORDS= (-1e15, -1e15, -1e15, 1e15, 1e15, 1e15) +% +% Design variable for FEA problems +% options: NONE, YOUNG_MODULUS, POISSON_RATIO, DENSITY, DEAD_WEIGHT, ELECTRIC_FIELD +DESIGN_VARIABLE_FEA= NONE +% +% Penalty weight value to maintain the total sum of DV constant +TOTAL_DV_PENALTY= 0.0 +% +% Parameters for the corresponding OF (allowed stress and KS multiplier). +STRESS_PENALTY_PARAM= (1.0, 10.0) +% + +% ---------------- AUTOMATIC DIFFERENTIATION -------------------% +% +% Preaccumulation in the AD mode. +PREACC= YES + +% ---------------- PRESTRETCH FOR STRUCTURES -------------------% +% Consider a prestretch in the structural domain +PRESTRETCH= NO +% +% Filename to input for prestretching membranes +PRESTRETCH_FILENAME= prestretch_file.dat +% +% Iterative method for non-linear structural analysis +NONLINEAR_FEM_SOLUTION_METHOD= NEWTON_RAPHSON +% +% Formulation for bidimensional elasticity solver +FORMULATION_ELASTICITY_2D= PLANE_STRAIN +% +% Apply dead loads +DEAD_LOAD= NO +% +% pseudo static analysis (no density in dynamic analysis) +PSEUDO_STATIC= NO +% +% Dynamic or static structural analysis (deprecated -> use TIME_DOMAIN) +DYNAMIC_ANALYSIS= NO +% +% Time Step for dynamic analysis (s) (deprecated -> use TIME_STEP) +DYN_TIMESTEP= 0.0 +% +% Total Physical Time for dual time stepping simulations (s) (deprecated -> use MAX_TIME) +DYN_TIME= 1.0 % ---------------- MESH DEFORMATION PARAMETERS (NEW SOLVER) -------------------% % @@ -1597,6 +2022,41 @@ DEFORM_STIFFNESS_TYPE= WALL_DISTANCE % Deform the grid only close to the surface. It is possible to specify how much % of the volumetric grid is going to be deformed in meters or inches (1E6 by default) DEFORM_LIMIT = 1E6 +% +% Young modulus for constant stiffness FEA method of grid deformation +DEFORM_ELASTICITY_MODULUS= 2e11 +% +% Poisson ratio for constant stiffness FEA method of grid deformation +DEFORM_POISSON_RATIO= 0.3 +% +% Size of the layer of highest stiffness for wall distance-based mesh stiffness +DEFORM_STIFF_LAYER_SIZE= 0.0 + +% -------------------- REFERENCE GEOMETRY -----------------------% +% +% Consider a reference solution for the structure (optimization applications) +REFERENCE_GEOMETRY= NO +% +% Penalty weight value for the objective function +REFERENCE_GEOMETRY_PENALTY= 1.0E6 +% +% Reference geometry filename +REFERENCE_GEOMETRY_FILENAME= reference_geometry.dat +% +% Format of the reference geometry file +REFERENCE_GEOMETRY_FORMAT= SU2_REF +% +% If true consider only the surfaces where loads are applied. +REFERENCE_GEOMETRY_SURFACE= NO +% +% Reference node for the structure (optimization applications) +REFERENCE_NODE= 0 +% +% Target displacement of the reference node +REFERENCE_NODE_DISPLACEMENT= (0.0, 0.0) +% +% Penalty weight value for the objective function +REFERENCE_NODE_PENALTY= 1.0E3 % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % @@ -1605,17 +2065,17 @@ FFD_TOLERANCE= 1E-10 % % Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 500 - +% % Parameters for prevention of self-intersections within FFD box FFD_INTPREV = YES FFD_INTPREV_ITER = 10 FFD_INTPREV_DEPTH = 3 - +% % Parameters for prevention of nonconvex elements in mesh after deformation CONVEXITY_CHECK = YES CONVEXITY_CHECK_ITER = 10 CONVEXITY_CHECK_DEPTH = 3 - +% % % FFD box definition: 3D case (FFD_BoxTag, X1, Y1, Z1, X2, Y2, Z2, X3, Y3, Z3, X4, Y4, Z4, % X5, Y5, Z5, X6, Y6, Z6, X7, Y7, Z7, X8, Y8, Z8) @@ -1782,6 +2242,10 @@ OUTPUT_WRT_FREQ= 10, 250, 42 % Output the performance summary to the console at the end of SU2_CFD WRT_PERFORMANCE= NO % +% Output the tape statistics (discrete adjoint) +WRT_AD_STATISTICS= NO +% +% % Overwrite or append iteration number to the restart files when saving WRT_RESTART_OVERWRITE= YES % @@ -1791,6 +2255,21 @@ WRT_SURFACE_OVERWRITE= YES % Overwrite or append iteration number to the volume files when saving WRT_VOLUME_OVERWRITE= YES % +% Determines if the forces breakdown is written out +WRT_FORCES_BREAKDOWN= NO +% +% MPI communication level (NONE, MINIMAL, FULL) +COMM_LEVEL= FULL +% +% Node number for the CV to be visualized (tecplot) (delete?) +VISUALIZE_CV= -1 +% +% Write extra output (EXPERIMENTAL, NOT FOR GENERAL USE) +EXTRA_OUTPUT= NO +% +% Write extra heat output for a given heat solver zone +EXTRA_HEAT_ZONE_OUTPUT= -1 + % ------------------------- INPUT/OUTPUT FILE INFORMATION --------------------------% % % Mesh input file @@ -1799,6 +2278,15 @@ MESH_FILENAME= mesh_NACA0012_inv.su2 % Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 % +% List of the number of grid points in the RECTANGLE or BOX grid in the x,y,z directions. (default: (33,33,33) ). +MESH_BOX_SIZE= (33, 33, 33) +% +% List of the length of the RECTANGLE or BOX grid in the x,y,z directions. (default: (1.0,1.0,1.0) ). +MESH_BOX_LENGTH= (1.0, 1.0, 1.0) +% +% List of the offset from 0.0 of the RECTANGLE or BOX grid in the x,y,z directions. (default: (0.0,0.0,0.0) ). +MESH_BOX_OFFSET= (0.0, 0.0, 0.0) +% % Mesh output file MESH_OUT_FILENAME= mesh_out.su2 % @@ -1811,6 +2299,9 @@ SOLUTION_ADJ_FILENAME= solution_adj.dat % Output tabular file format (TECPLOT, CSV) TABULAR_FORMAT= CSV % +% Set .precision(value) to specified value for SU2_DOT and HISTORY output. Useful for exact gradient validation. +OUTPUT_PRECISION= 10 +% % Files to output % Possible formats : (TECPLOT_ASCII, TECPLOT, SURFACE_TECPLOT_ASCII, % SURFACE_TECPLOT, CSV, SURFACE_CSV, PARAVIEW_ASCII, PARAVIEW_LEGACY, SURFACE_PARAVIEW_ASCII, @@ -1848,6 +2339,12 @@ SURFACE_FILENAME= surface_flow % Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint % +% Output file surface sensitivity (discrete adjoint) (w/o extension) +SURFACE_SENS_FILENAME= surface_sens +% +% Output file volume sensitivity (discrete adjoint)) +VOLUME_SENS_FILENAME= volume_sens +% % Read binary restart files (YES, NO) READ_BINARY_RESTART= YES % @@ -1898,14 +2395,14 @@ REORIENT_ELEMENTS= YES % Definition of multipoint design problems, this option should be combined with the % the prefix MULTIPOINT in the objective function or constraint (e.g. MULTIPOINT_DRAG, MULTIPOINT_LIFT, etc.) MULTIPOINT_MACH_NUMBER= (0.79, 0.8, 0.81) +MULTIPOINT_WEIGHT= (0.33333, 0.33333, 0.33333) MULTIPOINT_AOA= (1.25, 1.25, 1.25) MULTIPOINT_SIDESLIP_ANGLE= (0.0, 0.0, 0.0) MULTIPOINT_TARGET_CL= (0.8, 0.8, 0.8) MULTIPOINT_REYNOLDS_NUMBER= (1E6, 1E6, 1E6) -MULTIPOINT_FREESTREAM_PRESSURE= (101325.0, 101325.0, 101325.0) MULTIPOINT_FREESTREAM_TEMPERATURE= (288.15, 288.15, 288.15) +MULTIPOINT_FREESTREAM_PRESSURE= (101325.0, 101325.0, 101325.0) MULTIPOINT_OUTLET_VALUE= (0.0, 0.0, 0.0) -MULTIPOINT_WEIGHT= (0.33333, 0.33333, 0.33333) MULTIPOINT_MESH_FILENAME= (mesh_NACA0012_m79.su2, mesh_NACA0012_m8.su2, mesh_NACA0012_m81.su2) % % Optimization objective function with scaling factor, separated by semicolons. @@ -1950,6 +2447,11 @@ DEFINITION_DV= ( 1, 1.0 | airfoil | 0, 0.05 ); ( 1, 1.0 | airfoil | 0, 0.10 ); ( % Use combined objective within gradient evaluation: may reduce cost to compute gradients when using the adjoint formulation. OPT_COMBINE_OBJECTIVE = NO % +% +% Number of iterations to average the objective function for unsteady adjoints, +% 0 averages over all time iterations, "N" averages over the last N iterations. +ITER_AVERAGE_OBJ= 0 + % --------------------- LIBROM PARAMETERS -----------------------% % LibROM can be found here: https://github.com/LLNL/libROM % @@ -1968,3 +2470,14 @@ MAX_BASIS_DIM = 100 % % Frequency of snapshots saves, for unsteady problems (default: 1. 2 means every other) ROM_SAVE_FREQ = 1 + +% --------------------- PASTIX PARAMETERS -----------------------% +% +% Number of calls to 'Build' that trigger re-factorization (0 means only once) +PASTIX_FACTORIZATION_FREQUENCY= 1 +% +% 0 - Quiet, 1 - During factorization and cleanup, 2 - Even more detail +PASTIX_VERBOSITY_LEVEL= 0 +% +% Level of fill for PaStiX incomplete LU factorization +PASTIX_FILL_LEVEL= 1